Ignore:
Timestamp:
Feb 1, 2019, 9:57:09 PM (5 years ago)
Author:
coas-nagasima
Message:

TINETとSocket APIなどを更新

Location:
asp3_tinet_ecnl_rx/trunk/asp3_dcre/syssvc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • asp3_tinet_ecnl_rx/trunk/asp3_dcre/syssvc/serial.h

    r359 r364  
    7979extern ER               serial_opn_por(ID portid) throw();
    8080extern ER               serial_cls_por(ID portid) throw();
    81 extern ER_UINT  serial_rea_dat(ID portid, char *buf, uint_t len) throw();
     81extern ER_UINT  serial_trea_dat(ID portid, char *buf, uint_t len, TMO tmout) throw();
    8282extern ER_UINT  serial_wri_dat(ID portid, const char *buf, uint_t len) throw();
    8383extern ER               serial_ctl_por(ID portid, uint_t ioctl) throw();
    8484extern ER               serial_ref_por(ID portid, T_SERIAL_RPOR *pk_rpor) throw();
     85
     86Inline ER_UINT  serial_rea_dat(ID portid, char *buf, uint_t len)
     87{
     88        return serial_trea_dat(portid, buf, len, TMO_FEVR);
     89}
    8590
    8691/*
  • asp3_tinet_ecnl_rx/trunk/asp3_dcre/syssvc/tSerialAdapter.c

    r337 r364  
    8383 */
    8484ER_UINT
    85 serial_rea_dat(ID portid, char *buf, uint_t len)
     85serial_trea_dat(ID portid, char *buf, uint_t len, TMO tmout)
    8686{
    8787        if (sns_dpn()) {                                /* コンテキストのチェック */
     
    9292        }
    9393
    94         return(cSerialPort_read(portid - 1, buf, len));
     94        return(cSerialPort_read(portid - 1, buf, len, tmout));
    9595}
    9696
  • asp3_tinet_ecnl_rx/trunk/asp3_dcre/syssvc/tSerialPort.cdl

    r337 r364  
    5757        ER              open(void);
    5858        ER              close(void);
    59         ER_UINT read([out,size_is(length)] char *buffer, [in] uint_t length);
     59        ER_UINT read([out,size_is(length)] char *buffer, [in] uint_t length, [in] TMO tmout);
    6060        ER_UINT write([in,size_is(length)] const char *buffer, [in] uint_t length);
    6161        ER              control([in] uint_t ioControl);
  • asp3_tinet_ecnl_rx/trunk/asp3_dcre/syssvc/tSerialPortMain.c

    r359 r364  
    397397 */
    398398ER_UINT
    399 eSerialPort_read(CELLIDX idx, char *buffer, uint_t length)
     399eSerialPort_read(CELLIDX idx, char *buffer, uint_t length, TMO tmout)
    400400{
    401401        CELLCB  *p_cellcb;
     
    423423        while (reacnt < length) {
    424424                if (buffer_empty) {
    425                         SVC(rercd = cReceiveSemaphore_wait(),
    426                                                                                 gen_ercd_wait(rercd, p_cellcb));
     425                        rercd = cReceiveSemaphore_waitTimeout(tmout);
     426                        if (rercd == E_TMOUT)
     427                                return E_TMOUT;
     428                        if (rercd < 0) {
     429                                gen_ercd_wait(rercd, p_cellcb);
     430                                ercd = rercd;
     431                                goto error_exit;
     432                        }
    427433                }
    428434                SVC(rercd = serialPort_readChar(p_cellcb, &c), rercd);
Note: See TracChangeset for help on using the changeset viewer.