timers and semtimedop(2)

Michael B Allen ioplex at gmail.com
Thu Nov 1 22:14:17 PDT 2007


On 11/1/07, Peter Jeremy <peterjeremy at optushome.com.au> wrote:
> On Thu, Nov 01, 2007 at 01:41:10PM -0400, Michael B Allen wrote:
> >I need semtimedop(2). I'm thinking I can just do a semop with a SIGINT maybe.
>
> I presume you mean SIGALRM.
>
> >Can someone suggest a good method for setting up a timer to deliver
> >the signal? What sort of timers does FreeBSD offer?
>
> Assuming you aren't planning on creating a new syscall: man setitimer
> There's also kqueue EVFILT_TIMER but that is probably only useful if
> you are already using kqueue for other purposes.

Hi Peter,

On second thought I decided to use the application's existing event
loop to call semop and notify the waiter. It's not a self contained
solution and it won't work if the event loop itself is the waiter  but
it it almost always pays not to use signals if you don't absolutely
have to.

Thanks,
Mike


More information about the freebsd-hackers mailing list