On 09/15/2013 04:53 PM, Jakub Jermar wrote:
> For the record, I was watching the changes closely until about two weeks
> or so ago and I quite liked them. The whole series starts with a nice
> cleanup/handlification of the interface and the code and it seemed
> reasonable to me. Now, I still need to look at what was done in the most
> recent changes.

Ok, I went through the changes as they stand now. It is possible that if
you throw the old API away again, new issues will arise, but this is a
list of reservations or comments that I have now:

- use of magic constants, such as 4096 in valid_ptr() and formerly(?)
  also >= 16 for valid handles
- use of __builtin's
- async_exchange_begin(), does not require you to test for NULL return
  value; as I was told at the camp, the exchange-consuming functions
  should handle this gracefully; for example in vfs_connect_internal()
- new synchronization primitives (such as in sleeper.h) (I guess Martin
  already pointed this out) and fancy synchronization using atomics
  instead of simple lock-based synchronization using the already
  existing stuff (already pointed out by me :-)
- use of printf() formatters; instead of using a portable formatter, you
  appear to cast the variable to match the formatter; I found the
  following cases:
    (long long unsigned) service_id
    (long long) de->size
  http://trac.helenos.org/wiki/Printf could help
- inbox_entry implements its own linked list; why not use the already
  existing list_t and its list_first() and list_next() to traverse the
  list in your desired way?

Jakub

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to