Changeset f2d88f3 in mainline for uspace/srv


Ignore:
Timestamp:
2019-01-04T21:22:17Z (7 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

Location:
uspace/srv
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/input/input.c

    r06412ba rf2d88f3  
    539539                size_t nread;
    540540
    541                 chardev_read(sdev->chardev, &data, sizeof(data), &nread);
     541                chardev_read(sdev->chardev, &data, sizeof(data), &nread,
     542                    chardev_f_none);
    542543                /* XXX Handle error */
    543544                kbd_push_data(sdev->kdev, data);
  • uspace/srv/hid/input/port/chardev.c

    r06412ba rf2d88f3  
    138138
    139139        while (true) {
    140                 rc = chardev_read(chardev, &b, sizeof(b), &nread);
     140                rc = chardev_read(chardev, &b, sizeof(b), &nread,
     141                    chardev_f_none);
    141142                if (rc != EOK || nread != sizeof(b)) {
    142143                        printf("%s: Error reading data", NAME);
  • uspace/srv/hid/isdv4_tablet/isdv4.c

    r06412ba rf2d88f3  
    293293
    294294                rc = chardev_read(state->chardev, state->buf + state->buf_end,
    295                     state->buf_size - state->buf_end, &nread);
     295                    state->buf_size - state->buf_end, &nread, chardev_f_none);
    296296                if (rc != EOK && nread == 0)
    297297                        return EIO;
  • uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c

    r06412ba rf2d88f3  
    6969static void s3c24xx_uart_sendb(s3c24xx_uart_t *, uint8_t);
    7070
    71 static errno_t s3c24xx_uart_read(chardev_srv_t *, void *, size_t, size_t *);
     71static errno_t s3c24xx_uart_read(chardev_srv_t *, void *, size_t, size_t *,
     72    chardev_flags_t);
    7273static errno_t s3c24xx_uart_write(chardev_srv_t *, const void *, size_t, size_t *);
    7374
     
    199200
    200201static errno_t s3c24xx_uart_read(chardev_srv_t *srv, void *buf, size_t size,
    201     size_t *nread)
     202    size_t *nread, chardev_flags_t flags)
    202203{
    203204        s3c24xx_uart_t *uart = (s3c24xx_uart_t *) srv->srvs->sarg;
     
    208209        fibril_mutex_lock(&uart->buf_lock);
    209210
    210         while (circ_buf_nused(&uart->cbuf) == 0)
     211        while ((flags & chardev_f_nonblock) == 0 &&
     212            circ_buf_nused(&uart->cbuf) == 0)
    211213                fibril_condvar_wait(&uart->buf_cv, &uart->buf_lock);
    212214
  • uspace/srv/net/slip/slip.c

    r06412ba rf2d88f3  
    212212
    213213                rc = chardev_read(chardev, slip_recv_buf,
    214                     sizeof(slip_recv_buf), &nread);
     214                    sizeof(slip_recv_buf), &nread, chardev_f_none);
    215215                if (rc != EOK) {
    216216                        log_msg(LOG_DEFAULT, LVL_ERROR,
  • uspace/srv/test/chardev-test/main.c

    r06412ba rf2d88f3  
    5050static errno_t smallx_close(chardev_srv_t *);
    5151static errno_t smallx_write(chardev_srv_t *, const void *, size_t, size_t *);
    52 static errno_t smallx_read(chardev_srv_t *, void *, size_t, size_t *);
     52static errno_t smallx_read(chardev_srv_t *, void *, size_t, size_t *,
     53    chardev_flags_t);
    5354
    5455static errno_t largex_open(chardev_srvs_t *, chardev_srv_t *);
    5556static errno_t largex_close(chardev_srv_t *);
    5657static errno_t largex_write(chardev_srv_t *, const void *, size_t, size_t *);
    57 static errno_t largex_read(chardev_srv_t *, void *, size_t, size_t *);
     58static errno_t largex_read(chardev_srv_t *, void *, size_t, size_t *,
     59    chardev_flags_t);
    5860
    5961static errno_t partialx_open(chardev_srvs_t *, chardev_srv_t *);
    6062static errno_t partialx_close(chardev_srv_t *);
    6163static errno_t partialx_write(chardev_srv_t *, const void *, size_t, size_t *);
    62 static errno_t partialx_read(chardev_srv_t *, void *, size_t, size_t *);
     64static errno_t partialx_read(chardev_srv_t *, void *, size_t, size_t *,
     65    chardev_flags_t);
    6366
    6467static service_id_t smallx_svc_id;
     
    186189
    187190static errno_t smallx_read(chardev_srv_t *srv, void *buf, size_t size,
    188     size_t *nread)
     191    size_t *nread, chardev_flags_t flags)
    189192{
    190193        if (size < 1) {
     
    221224
    222225static errno_t largex_read(chardev_srv_t *srv, void *buf, size_t size,
    223     size_t *nread)
     226    size_t *nread, chardev_flags_t flags)
    224227{
    225228        if (size < 1) {
     
    256259
    257260static errno_t partialx_read(chardev_srv_t *srv, void *buf, size_t size,
    258     size_t *nread)
     261    size_t *nread, chardev_flags_t flags)
    259262{
    260263        if (size < 1) {
Note: See TracChangeset for help on using the changeset viewer.