Commit Graph

35 Commits

Author SHA1 Message Date
Kevin Lange
ce05bdbff7 Actually fix the math on bitsets 2015-07-02 21:25:11 -07:00
Kevin Lange
cb8f821489 Fix incorrect default state and bit math for bitsets 2015-07-02 14:56:35 -07:00
Dale Weiler
d6ff2dc428 Better PID allocation technique 2015-05-21 16:23:31 -04:00
Dale Weiler
0dbd5ab089 Cleanup and improve spin lock code 2015-05-21 04:28:14 -04:00
Kevin Lange
d3cddf169a And then some more magic to merge the vimhints and the copyright headers 2014-06-07 23:58:31 -07:00
Kevin Lange
1287af81ef Reinsert vim hints magically 2014-06-07 23:51:01 -07:00
Kevin Lange
a2ed4b4f0e strip vim: lines from kernel 2014-06-07 23:43:21 -07:00
Kevin Lange
ef7d72c1e1 License headers and a tool to generate them 2014-06-07 23:13:29 -07:00
Kevin Lange
6296aff867 Fix handling of eof in login 2014-05-30 17:05:49 -07:00
Kevin Lange
d696f51f8b Real unix pipes 2014-05-27 21:38:30 -07:00
Kevin Lange
4d8335ad75 Implement proper wait/waitpid.
This is a pretty big commit, so let's run through it in parts:

- All of the userspace changes are to switch away from syscall_wait
  Mostly, this is to waitpid; some things were tweaked to do things
  "properly" instead of waiting for particular processes. Init has
  been fixed to do a proper spin wait.
- syscall_wait is gone - as are its uses. newlib bindings have been
  using just waitpid for a while now.
- waitpid now performs like a Unix waitpid
- process reaping is no longer a "do this on next change thing":
  it happens when a process is waited on, like it should
  (That means we can have real zombies: terminated processes that
  have not yet been waited on)
- Reparenting of children to init has been implemented, so you
  can fork-daemonize!

Overall, this is pretty big... So I hope it doesn't break everything.
2014-04-27 01:37:33 -07:00
Kevin Lange
d0bfc0a5bb Efficient reallocation of SHM chunks (mostly) 2014-04-20 17:11:35 -07:00
Kevin Lange
d25e66b4bf Fix a null dereference from lists/trees 2014-04-13 02:02:17 -07:00
Kevin Lange
bf5409d0da Fix a problem with list merging / trees 2014-04-12 18:30:42 -07:00
Kevin Lange
597a17949e Lists should have owners. 2014-04-12 18:15:10 -07:00
Kevin Lange
2a53068ddc pipes and ringbuffers should have two wait queues 2014-04-12 18:14:35 -07:00
Kevin Lange
7009e4ec1c Continued progress on Yutani 2014-04-06 18:21:35 -07:00
Kevin Lange
8980f568a3 Consolidate datastructure libraries 2014-03-24 20:18:40 -07:00
Kevin Lange
2ced88cf33 make kernel hashmap generic 2013-12-15 20:27:06 -08:00
Kevin Lange
ee978f3dbe Fix freeing keys, add another test 2013-12-01 23:50:13 -08:00
Kevin Lange
902b0342b9 Add some more hashmap functions
And port kernel console command lookup to use a hashmap.
2013-12-01 23:29:40 -08:00
Kevin Lange
204d9bb6ce Remove debug logging from hashmap 2013-12-01 21:46:23 -08:00
Kevin Lange
6fde2533a1 Better hash function 2013-12-01 21:40:39 -08:00
Kevin Lange
68941f6afd Simple hashmap 2013-12-01 21:19:09 -08:00
Kevin Lange
e70ebf8857 Big fat cleanup and GCC fix batch 2013-06-05 23:10:36 -07:00
Kevin Lange
cd677b44c3 Fix up some terminal bits, add F keys 2013-04-13 20:21:40 -07:00
Kevin Lange
bc51b20380 Generic ringbuffer ds for kernel 2013-04-02 23:02:43 -07:00
Kevin Lange
71931b3cf3 Improvements to lists 2013-03-17 16:32:44 -07:00
Kevin Lange
3a977369af Timed process sleeping (and bug fixes) 2012-12-10 20:28:31 -08:00
Kevin Lange
193158079d Bunch of kernel cleanup 2012-11-30 18:26:47 -08:00
Kevin Lange
29e031e6f6 [docs] Clean up some fixed XXXs and TODOs 2012-03-15 13:15:57 -05:00
Kevin Lange
de7a984938 Fix a bunch of bugs in signal handling and scheduling 2012-02-20 23:31:00 -06:00
Kevin Lange
e844fe53ad [list] Fix merge bug 2011-12-15 21:13:47 -06:00
Kevin Lange
ddc71135af [proc] Fix some latent management bugs 2011-12-15 21:08:48 -06:00
Kevin Lange
8c548c0db0 Restructure directory tree for kernel modules 2011-12-14 22:15:47 -06:00