[Mono-bugs] [Bug 654883] mono loops in sem_wait() unless a signal is sent

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Dec 1 09:55:00 EST 2010


https://bugzilla.novell.com/show_bug.cgi?id=654883

https://bugzilla.novell.com/show_bug.cgi?id=654883#c9


--- Comment #9 from Gonzalo Paniagua Javier <gonzalo at novell.com> 2010-12-01 14:54:59 UTC ---
I don't think anybody in the mono team uses openBSD, but the solution to try is
something like:

   1. define MonoSemType to 'int *'
   2. MONO_SEM_INIT -> int *pfd = g_new0 (int, 2); -> pipe (pfd); -> return pfd
   3. MONO_SEM_DESTROY -> close (pfd[0]), close (pfd [1])
   4. mono_sem_wait() -> char one; read (pfd [0], &one, 1);
   5. mono_sem_timedwait () -> use mono_poll() on pfd [0] for the timeout
   6. mono_sem_post() -> write (pfd [1], &one, 1);

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list