Skip to content
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

OSX/BSD/Solaris support blockers #94

Open
4 tasks
jmealo opened this issue Mar 28, 2017 · 6 comments
Open
4 tasks

OSX/BSD/Solaris support blockers #94

jmealo opened this issue Mar 28, 2017 · 6 comments

Comments

@jmealo
Copy link

jmealo commented Mar 28, 2017

Kudos on Hindsight!

Here is a list of known blockers preventing hindsight from running on various systems:

Known issues:

  • pthread_timedjoin_np is not available on non-glib operating systems source
  • clock_get_time is not available on OSX until 10.12 (Sierra) this issue provides an outline of how the hack can be conditionally applied for maximum compatibility.
  • sem_init is deprecated and sem_timedwait is unavailable (possible solution)
  • inotify (possible solution from @zloidemon)

@trink: Perhaps contributors can champion these issues with a little guidance on what solutions you'd be comfortable to accept upstream with a PR?

Thank you for your hard work,
Jeff

@trink
Copy link
Contributor

trink commented Mar 29, 2017

There have been discussions of making Hindsight cross platform (including Windows), ranging from C11 threading/wrapper to a Rust implementation. It is simply a matter of time and energy which we have decided to devote elsewhere. This next quarter will focus on integration testing (mainly for the various Mozilla Heka sandboxes but it will also provide good coverage of Hindsight itself; reducing a lot of manual test effort).

OSX/BSD/Solaris are a quicker wins but wouldn't necessarily help towards the longer term cross platform goal, it would also add to the support and test burden in the short term. Since we don't use those platforms in our infrastructure an automated build and test environment would be required for each as part of those changes.

As for the clock_get_time code, the portable solution in the lua_sandbox can be used.

@trink
Copy link
Contributor

trink commented Apr 6, 2017

inotify should be added to this list

Related: #72

@zloidemon
Copy link

inotify might solved by libinotify-kqueue

@beorn-
Copy link

beorn- commented Jun 16, 2017

The pthread_timedjoin_np() is a FreeBSD extension which first appeared in FreeBSD 6.1.

@jmealo
Copy link
Author

jmealo commented Jun 16, 2017

@beorn-: Is the document that I linked to above incorrect/out of date?

FreeBSD 6.4 has a function of this name in libthr but not in libpthread, and it also is missing a declaration.

@beorn-
Copy link

beorn- commented Jun 28, 2017

I think so this is taken from a freebsd man

STANDARDS
     The pthread_join() function conforms to ISO/IEC 9945-1:1996
     (``POSIX.1'').  The pthread_timedjoin_np() is a FreeBSD extension which
     first appeared in FreeBSD 6.1.

FreeBSD 11.0-RELEASE-p9        January 23, 2010        FreeBSD 11.0-RELEASE-p9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants