Commit Graph

30 Commits

Author SHA1 Message Date
Xiang Xiao
6a3c2aded6 Fix wait loop and void cast (#24)
* Simplify EINTR/ECANCEL error handling

1. Add semaphore uninterruptible wait function
2 .Replace semaphore wait loop with a single uninterruptible wait
3. Replace all sem_xxx to nxsem_xxx

* Unify the void cast usage

1. Remove void cast for function because many place ignore the returned value witout cast
2. Replace void cast for variable with UNUSED macro
2020-01-02 10:54:43 -06:00
Gregory Nutt
03f345b38c configs/same70-xplained/twm4nx/defconfig: Increase packet MTU to 1500. 2019-05-03 10:45:38 -06:00
Gregory Nutt
92554257b9 Squashed commit of the following:
graphics/nxbe/nxbe_bitmap.c:  Fix another coordinate system problem.

    graphics/:  Review use of device coordinate system with window frambebuffer and make fixes accordingly.

    graphics/nxbe/nxbe_fill.c:  Fix a coordinate system bug.  Was trying to update the window fraembuffer using the device coordinate system.  Need to use the relative coordinate system.

    graphics/:  Use DEBUGASSERT instead of return an error since the is no user to handle the errors within the NX server.  Use CONFIG_DEBUG_GRAPHICS instead of CONFIG_DEBUG_FEATURES in most cases.

    graphics/:  Nothing under graphics/ should set the errno.
2019-03-17 11:34:45 -06:00
Gregory Nutt
9568600ab1 Squashed commit of the following:
This commit backs out most of commit b4747286b1.  That change was added because sem_wait() would sometimes cause cancellation points inappropriated.  But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.

    In the OS, all calls to sem_wait() changed to nxsem_wait().  nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.

    In all OS functions (not libraries), change sem_wait() to nxsem_wait().  This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.

    sched/semaphore:  Add the function nxsem_wait().  This is a new internal OS interface.  It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615 Squashed commit of the following:
sched/semaphore:  Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable.  Changed all references to sem_post in the OS to nxsem_post().

    sched/semaphore:  Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable.  Changed all references to sem_destroy() in the OS to nxsem_destroy().

    libc/semaphore and sched/semaphore:  Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable.  Changed all references to sem_setprotocol in the OS to nxsem_setprotocol().  sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552 Squashed commit of the following:
libc/semaphore:  Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable.  Changed all references to sem_getvalue in the OS to nxsem_getvalue().

    sched/semaphore:  Rename all internal private functions from sem_xyz to nxsem_xyz.  The sem_ prefix is (will be) reserved only for the application semaphore interfaces.

    libc/semaphore:  Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable.  Changed all references to sem_init in the OS to nxsem_init().

    sched/semaphore:  Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.

    sched/semaphoate:  Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
a1469a3e95 Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err() 2016-06-11 15:50:49 -06:00
Gregory Nutt
1cdc746726 Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES 2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe Replace all occurrences of vdbg with vinfo 2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9 Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO 2016-06-11 11:50:18 -06:00
Gregory Nutt
422769e859 Update README. Improve some debug output. 2016-04-23 14:27:32 -06:00
Gregory Nutt
47a33cbb64 VNC: Ignore client framebuffer updates if nothing has changed (we can does this because client requests incremental updates 2016-04-23 10:22:54 -06:00
Gregory Nutt
e723fc7fd4 VNC: Add option to enable VNC server debug without GRAPHICS debug 2016-04-23 09:06:39 -06:00
Gregory Nutt
05f720f838 VNC: Flush the update queue whenever the client asks for a whole screen update 2016-04-21 12:38:36 -06:00
Gregory Nutt
98e4de73e2 VNC: Discard previously queued updates if the client requesta a whole screen update 2016-04-21 09:47:26 -06:00
Gregory Nutt
f8604d11a9 VNC: Add some very basic RRE encodings 2016-04-20 17:01:48 -06:00
Gregory Nutt
cf6e791134 VNC: Repartition some function in preparation for supporting other encoding types 2016-04-20 14:05:32 -06:00
Gregory Nutt
363169339b VNC: Fix error in message header size calculation; Add logic to try copy with pixel format changes. 2016-04-20 13:10:09 -06:00
Gregory Nutt
7134652fea VNC: Fixes from debug. One issues is that VNC client is changing color formats after starting. That is now handled. 2016-04-20 09:47:02 -06:00
Gregory Nutt
65f21d0edb VNC: More updates from testing. There are issues with high rate, large TCP transfers. 2016-04-19 15:39:58 -06:00
Gregory Nutt
c4263e4bfe VNC: various fixes and clean-up during testing. Still not completely functional. 2016-04-19 13:25:10 -06:00
Gregory Nutt
170f906a8b VNC: Add support for RGB8 conversions. These are what are used by RealVNC. 2016-04-19 10:10:59 -06:00
Gregory Nutt
6cfe56202d Backout 3f731241cb. It is a good idea, but has some unpleasant side effect... like SYSLOG and dbg() no longer work 2016-04-18 18:55:36 -06:00
Gregory Nutt
5997373b55 VNC: Fix some obvious logic and coding errors found in early testing 2016-04-18 15:34:39 -06:00
Gregory Nutt
f5f461da20 VNC: server is code complete 2016-04-18 10:42:44 -06:00
Gregory Nutt
48d4a9672a VNC: Add rectangle decomposition loop control 2016-04-17 19:23:39 -06:00
Gregory Nutt
d92b676305 VNC: Add rectangle queue logic 2016-04-17 18:09:04 -06:00
Gregory Nutt
df297ec8fc VNC: Add some rectangle queuing logic 2016-04-17 16:48:30 -06:00
Gregory Nutt
1214f99c25 VNC: Add hooks to receive updates when the display is modified 2016-04-17 12:26:03 -06:00
Gregory Nutt
c767686b3d VNC: Partition/rename some functionality. Add framework to support a reading and writing thread. 2016-04-17 08:20:14 -06:00