230 Commits (6f7dc2d2f0f873bcad6db27addd3641e3c1b1b3a)

Author SHA1 Message Date
Con Kolivas 8bb50fa058 Process epoll read messages before hangups and errors and add more info about the type of hang up, increasing verbosity when it's an unexpected error 10 years ago
Con Kolivas 0b96be0144 Use non blocking receive in parse_client_msg as we check for read readiness with wait_read_select first, and there is the unlikely event the state changes 10 years ago
Con Kolivas da2f62aea9 Pass through the downstream clients' address and server 10 years ago
Con Kolivas bf72ebbee6 Reinstate checking for zero as a return from recv for cleanly disconnected clients 10 years ago
Con Kolivas 75d24d1d07 Reference clients in the epoll list by their client id to avoid double lookup and possible wrong client selection 10 years ago
Con Kolivas 88fcb55faa Revert "Check clients match in epoll loop" 10 years ago
Con Kolivas b50f2ba86c Check clients match in epoll loop 10 years ago
Con Kolivas e012108280 Explicitly check for EPOLLRDHUP as well 10 years ago
ckolivas 91d2aca51f Detect pollhup in wait_read_select and not through recv fail conditions 10 years ago
ckolivas 49ce587949 nolinger client sockets when we're about to close them 10 years ago
ckolivas da20ac7f3e Disable user of nolinger on client sockets 10 years ago
Con Kolivas cd754e98e4 Move connector to using unix receive queues 10 years ago
Con Kolivas 655f82f09d Remove clients from the epoll list when invalidating them to avoid a receiver event and check they still exist in their original form on getting a receiver event 10 years ago
Con Kolivas 24d9155f62 Recycle client instances in the connector 10 years ago
Con Kolivas 4c97df787d Remove use of upgradeable locks in connector 10 years ago
Con Kolivas d4304de798 These weren't the droids we were looking for. 10 years ago
Con Kolivas d75dd5543c Try async messages again 10 years ago
Con Kolivas 6b3cd82525 Revert "Use async send proc as a separate thread from workqueues" 10 years ago
Con Kolivas 7de43b1c6e Use async send proc as a separate thread from workqueues 10 years ago
Con Kolivas 4ff3972ef0 Look for other clients that should have been dropped in the stratifier and inform or query the connector about them 10 years ago
Con Kolivas 8708b36b8d Use async send proc in the connector 10 years ago
Con Kolivas a465e47f85 Use async send proc in the connector 10 years ago
Con Kolivas 42f14a9536 Add full lock tracking for mutexes and rwlocks 10 years ago
Con Kolivas 865cd3a741 Remove unused variable 10 years ago
Con Kolivas 8ebd5de420 Use json_getdel_int64 helper in the connector 10 years ago
Con Kolivas 163fc40afb Check all delayed clients for a serviceable one in the connector when we can and consider dropping a client servicing one to not potentially create delayed sends faster than we service them 10 years ago
Con Kolivas 8b1b6d45d6 fd being invalidated is checked for in wait_write_select so we don't need to handle it twice 10 years ago
Con Kolivas 0e7bc51541 Check all delayed clients for a serviceable one in the connector when we can and consider dropping a client servicing one to not potentially create delayed sends faster than we service them 10 years ago
Con Kolivas 83208ebc72 fd being invalidated is checked for in wait_write_select so we don't need to handle it twice 10 years ago
Con Kolivas 5665d54545 Test without dropping listen backlog 10 years ago
Con Kolivas 1a3ed51ba9 Fix workings when no serverurl is explicitly specified in config 10 years ago
Con Kolivas 5dd35d6555 Fix workings when no serverurl is explicitly specified in config 10 years ago
Con Kolivas 04f4f090e2 Convert use of %ld to PRId64 in connector 10 years ago
Con Kolivas 841d22ec05 Drop the server backlog to minimum after the pool has been accepting connections for 90 seconds 10 years ago
Con Kolivas 78b2cf0277 Further fine grain the locking in the connector 10 years ago
Con Kolivas d94202dacb Avoid one cast 10 years ago
Con Kolivas a7b2c3d8aa Shorten sleep interval while accept flag is not set 10 years ago
Con Kolivas 6274371ccf Microoptimise epoll_wait call 10 years ago
Con Kolivas bfbb9b574f Remove unused macro 10 years ago
Con Kolivas 0c07ddb5ad Don't use client structure out of lock in connector's drop_client 10 years ago
Con Kolivas 21c7fcb2c2 Do not grab the cdata lock in the connector when sending data as false negatives are safe 10 years ago
Con Kolivas 71917ed4da Do not send messages from the connector of clients we've already dropped 10 years ago
Con Kolivas 3bbce63302 Generate connector stats on command 10 years ago
Con Kolivas d6c57c0817 Do not check for thread shutdown on every pass through the connector 10 years ago
Con Kolivas b23dbab1a1 Use a doubly linked list for dead clients in the connector for O(1) removal 10 years ago
Con Kolivas a72510df7f Only ask the stratifier to drop a client once 10 years ago
Con Kolivas 01ce6a65a0 Revert wrongly implicated linked list freeing workaround 10 years ago
Con Kolivas 259f8ca4a0 Use invalidate in the connector when dropping a client to ensure the stratifier drops it as well 10 years ago
Con Kolivas b5f65d2e5a Tell the stratifier to drop a client if the connector is told to drop it and cannot find it any more 10 years ago
Con Kolivas 330c966556 Remove client ram safely in invalidate_client foreach loop 10 years ago