Changeset f2d88f3 in mainline for uspace/drv/char/i8042/i8042.c


Ignore:
Timestamp:
2019-01-04T21:22:17Z (5 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
af7b85b
Parents:
06412ba
Message:

Add forgotten changes to enable non-blocking chardev read

File:
1 edited

Legend:

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

    r06412ba rf2d88f3  
    6767
    6868static void i8042_char_conn(ipc_call_t *, void *);
    69 static errno_t i8042_read(chardev_srv_t *, void *, size_t, size_t *);
     69static errno_t i8042_read(chardev_srv_t *, void *, size_t, size_t *,
     70    chardev_flags_t);
    7071static errno_t i8042_write(chardev_srv_t *, const void *, size_t, size_t *);
    7172
     
    385386 */
    386387static errno_t i8042_read(chardev_srv_t *srv, void *dest, size_t size,
    387     size_t *nread)
     388    size_t *nread, chardev_flags_t flags)
    388389{
    389390        i8042_port_t *port = (i8042_port_t *)srv->srvs->sarg;
     
    394395        fibril_mutex_lock(&port->buf_lock);
    395396
    396         while (circ_buf_nused(&port->cbuf) == 0)
     397        while ((flags & chardev_f_nonblock) == 0 &&
     398            circ_buf_nused(&port->cbuf) == 0)
    397399                fibril_condvar_wait(&port->buf_cv, &port->buf_lock);
    398400
Note: See TracChangeset for help on using the changeset viewer.