Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/char/ns8250/ns8250.c

    r4f87a85a rf2d88f3  
    246246 * @param count         The number of bytes to be read.
    247247 * @param nread         Place to store number of bytes actually read
     248 * @param flags         @c chardev_f_nonblock not to block waiting for data
     249 *                      even if no data is available
    248250 *
    249251 * @return              EOK on success or non-zero error code
    250252 */
    251 static errno_t ns8250_read(chardev_srv_t *srv, void *buf, size_t count, size_t *nread)
     253static errno_t ns8250_read(chardev_srv_t *srv, void *buf, size_t count, size_t *nread,
     254    chardev_flags_t flags)
    252255{
    253256        ns8250_t *ns = srv_ns8250(srv);
     
    261264
    262265        fibril_mutex_lock(&ns->mutex);
    263         while (buf_is_empty(&ns->input_buffer))
     266        while ((flags & chardev_f_none) == 0 &&
     267            buf_is_empty(&ns->input_buffer))
    264268                fibril_condvar_wait(&ns->input_buffer_available, &ns->mutex);
    265269        while (!buf_is_empty(&ns->input_buffer) && pos < count) {
Note: See TracChangeset for help on using the changeset viewer.