[Haskell-cafe] ANN: unix-2.4.0.0 additional POSIX real time support

Don Stewart dons at galois.com
Sat May 10 01:58:47 EDT 2008


vigalchin:
>    Hello,
> 
>          Additional POSIX realtime (POSIX 1003.1b) support has been added:
> 
>    1) MQueue.hsc - POSIX message queues
> 
>         Supported FFI bindings for:
>    
>              - mq_open
> 
>              - mq_close
> 
>              - mq_unlink
> 
>              - mq_getattributes
> 
>              - mq_setattributes
> 
>              - mq_send
> 
>          Not yet supported bindings:
> 
>              - mq_rcv .. still debugging a mysterious problem
> 
>              - mq_notify - will support when asynchronous I/O is implemented
> 
>    2) RTsched.hsc - real time scheduling
> 
>          Supported bindings for:
> 
>                - sched_yield
> 
>                - sched_get_param
> 
>                - sched_set_param
> 
>                - sched _get_scheduler
> 
>                - sched_set_scheduler
> 
>                - sched_get_priority_min
>    
>                - sched_get_priority_max     
> 
>          Unsupported currently:
> 
>                 - sched_rr_get_interval - still looking for the TimeSpec data
>    type in order to get "peek"  working
> 
>    3) Files.hsc
> 
>               Added bindings for:
> 
>                     - fsync
> 
>                     - fdatasync     
> 
>    I am new to Haskell but would like to make a lot of contributions to
>    insure Haskell success in the marketplace (of ideas ;^)).  I apologize for
>    any glitches and look for feedback.

Very interesting!

However... this library is a core package, and maintained by
libraries at haskell.org, so you should not release it yourself.

Instead, submit your patches to libraries@ for inclusion, following the
patch submission guide here:

    http://haskell.org/haskellwiki/How_to_write_a_Haskell_program

Where the patches will be tested on other unix platforms, and then
encorporated into the main 'unix' repository.

Also, as unix .hsc files tend to be a bit fragile, portability wise, it
might be a good idea to instead place your patches in a separate library
on hackage, rather than patching the 'unix' package directly. We have
many other unix-alike packages, so one for message queues, and real time
scheduling make sense -- separate from the core 'unix' package (like the
mmap package, for example).

-- Don


More information about the Libraries mailing list