-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better Heuristic For Finding Openflow Executable #508
Comments
Just compile with |
Yeah, that would work ... if a monolithic app looked on the PATH. It doesn't. It only looks for It should be an easy fix. |
Wait. Why do we have two executables anyway? It seems like it only causes -N On Tue, Jun 21, 2016 at 3:03 PM, Craig Riecke [email protected]
|
@jnfoster We do use one invocation - the frenetic.native binary (or the monolithic app) starts the openflow.native binary through Process.create. It would be great to use fork instead, but we can't because of Async. Or rather, the Async scheduler - we start it up to handle some deferred's and ivar's (they are needed for other parts of Frenetic) prior to creating the openflow.native process. If we forked, the Async scheduler would be totally mucked up in the child process, ref: https://groups.google.com/forum/#!topic/ocaml-core/an6dwjN_yCY We could do one binary, but a monolithic app would have the same problem finding frenetic.native - Process.create doesn't look through the PATH by default. Unless maybe it started another copy of itself... |
good point... |
Not sure which point is a good one. It would still be my preference to have a single binary -- it eliminates -N On Wed, Jun 22, 2016 at 1:53 PM, Steffen Smolka [email protected]
|
"Good point" was referring to Nate's comment. Having two binaries trying to find each other sounds like it will break very easily. There must be a way around it. Craig, under the link you posted they mention |
When Frenetic runs with http-controller, it starts up the separate executable
openflow.native
as a subprocess. This works fine for programming in Python or REST. However, it doesn't work well when building a monolithic OCaml Frenetic app (basically the Northbound app is compiled in with Frenetic itself).Currently the workaround is to create a symbolic link to
openflow.native
in the same directory as the monolithic app executable, as show in the Wiki. It'd be nice not to require that.The text was updated successfully, but these errors were encountered: