In reply to:


This version has a different implementation of the WAITMENU ioctl() , so if you've written code that uses it, you'lll need to change your code. The new implementation allows a single process to create multiple menu items and wait on all of them at once with a single ioctl(). This is much closer to how it is most likely to be used with a userland "dispatcher" that fires up the actual applications.



Speaking of which, if somebody out there is writing a userland "dispatcher", which binds a bunch of menu items and then launches apps as the buttons are pressed: Just bind/wait everything all at once with the new WAITMENU ioctl.

If later you need to further extend the menu, just send a signal to your waiting thread (the one that did the WAITMENU) -- it will return from the ioctl with -EINTR as the result code. It can then add whatever to its menu label list and then reissue the WAITMENU. Not likely anyone needs to do this just yet, though.