On Mon, Nov 9, 2009 at 2:06 PM, Jan Kiszka <[email protected]> wrote: > The design. :)
I totally agree :) However, I'm using generated (user-space) code that I want to modify as little as possible. So with a simple ioctl-call I want to be able to switch between software (pthread) and hardware triggering (rtdm-driver). > The proper design is to use a rtdm semaphore or event *inside* the > kernel and let the application block on it when it calls a related IOCTL > or other device function that shall synchronize on that condition. > > Don't share resources like this between kernel and user space. It's > unclean, specifically as you once may want to access driver managed data > along the sleeping/waking as well. > > Jan The sem_open documentation states "a connection between the semaphore named name and the calling context (kernel-space as a whole, or user-space process)". I interpreted this as exactly what I want - a synchronization between user- and kernel-space. Please correct me if I'm wrong. > > -- > Siemens AG, Corporate Technology, CT SE 2 > Corporate Competence Center Embedded Linux > Attached you find an example. You can run it by executing: `make && sudo insmod ./km.ko && sudo ./um ; sudo rmmod km` My syslog-output is: "Error opening clock semaphore (2)" Thanks, Remco den Breeje _______________________________________________ Xenomai-core mailing list [email protected] https://mail.gna.org/listinfo/xenomai-core
