2010/4/27 Rafael J. Wysocki <rjw@xxxxxxx>: > 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? > I prefer to let user space choose the name since we use more than one suspend blocker in the same process. -- Arve Hjønnevåg _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm