On Tuesday 27 April 2010, Alan Stern wrote: > On Mon, 26 Apr 2010, Arve Hjønnevåg wrote: > > > > If you insist on using ioctl for init, you should use the standard > > > convention for passing variable-length data. The userspace program > > > sets up a fixed-size buffer containing a pointer to the name and the > > > name's length, and it passes the buffer's address as the ioctl > > > argument. > > > > Are you sure that is the standard? I searched for ioctls with NAME in > > their name and only found one that passed the name that way. The rest > > used fixed length string buffers, or passed the buffersize to _IOC > > like I do. For instance, input.h has ioctls to read string and > > bitmasks where user space specify the buffer size as an argument to > > the ioctl macro. These pass data from the kernel to user space, but I > > don't passing a string length is any worse than passing a buffer size. > > You're right. Okay, I withdraw my objection. In the meantime, though, I thought that the suspend blocker might be created by _open() if we found a way to automatically choose a name for it. That'd be kind of logical, since it's later destroyed by _release(). So, what about using the name of the process that opened the special device file (or that name with'0' appended, or generally with a number appended) as the suspend blocker name? Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm