User Tools

Site Tools


wishlist:david

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
wishlist:david [2017/03/16 14:29]
dcvmoole update
wishlist:david [2017/04/09 12:28]
dcvmoole another new todo item
Line 189: Line 189:
   * problem: it is not possible to mount RMIB subtrees using a name only (e.g. minix.lwip)   * problem: it is not possible to mount RMIB subtrees using a name only (e.g. minix.lwip)
   * problem: it is currently possible to mess up the MIB tree with bad name+id combos in RMIB mount requests   * problem: it is currently possible to mess up the MIB tree with bad name+id combos in RMIB mount requests
 +
 +=== Disallow killing processes in an uninterruptible system call ===
 +
 +  * reason: processes may currently be terminated while in an uninterruptible system call, possibly triggering poorly-tested scenarios in other services (safecopy failures, etc)
 +  * complication:​ this will require changes to the PM signal state machine, with subtle side effects
 +  * complication:​ involving all user-facing system services in exit notification is a performance problem
 +  * note: the most obvious solution would be kernel support for notification (to PM) when a process system call has completed, comparable to SIGNDELAY, and a PREEXIT process state in PM
 +  * note: ideally the same idea would be applied to signal handler invocation, because the current approach makes dangerous and already-incorrect(?​) assumptions about "​retreg"​ there
 +
 +=== Add support for pselect(2) ===
 +
 +  * reason: pselect(2) is required by dhcpcd(8) and various other parts of userland
 +  * complication:​ pselect(2) is supposed to be atomic and thus cannot be implemented as a select(2) wrapper
 +  * complication:​ a proper implementation will require a non-trivial extension to the PM/VFS protocol
 +  * subsequent project: also implement paccept(2); this will require storing more call state in VFS
  
 === Move the BSD socket API into VFS === === Move the BSD socket API into VFS ===
wishlist/david.txt · Last modified: 2017/10/11 18:13 by dcvmoole