More minor bugfixes
- make pollcat_loop() work as expected with no structs linked, by - calling usleep() instead of poll() - refactoring delay calculation and reset into pollcat_time_value() - simplify pollcat_timer_dispatch() in case of slow callbacks - deprecate pollcat_timer_dispatch_thresh - revise tests/timer.c to support two new options: - -s to monitor stdin with pollcat_fd_add() - -w to use pollcat_loop() instead of handling main-loop separately - make pollcat_dump() always present in header, since it's always compiled in - add Makefile rules for installing tests, for easier running on cross-compiled targets
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/** Wrapper structure for poll()
|
||||
*
|
||||
* This file is part of the Pollcat Library.
|
||||
* Copyright (C) 2022 Expatria Technologies Inc.
|
||||
* Copyright (C) 2022,2025 Expatria Technologies Inc.
|
||||
* Contact: Morgan Hughes <morgan@expatria.ca>
|
||||
*
|
||||
* The Pollcat Library is free software: you can redistribute it and/or modify it under
|
||||
@@ -40,9 +40,7 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <poll.h>
|
||||
#if POLLCAT_DEBUG
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
|
||||
/** Optional function to call on fatal error; if unset an assert()-style message will be
|
||||
@@ -123,11 +121,9 @@ void pollcat_time_reduce (int time);
|
||||
int pollcat_poll (void);
|
||||
|
||||
|
||||
#if POLLCAT_DEBUG
|
||||
/** Prints the pollfd array to a given file handle
|
||||
/** Prints the pollfd array to a given file handle, if POLLCAT_DEBUG is nonzero
|
||||
*/
|
||||
void pollcat_dump (FILE *fp);
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _INCLUDE_POLLCAT_POLLCAT_H_ */
|
||||
|
||||
@@ -28,8 +28,9 @@
|
||||
typedef uint64_t pollcat_time_t;
|
||||
|
||||
|
||||
/** Grace period in milliseconds for late timers, set to 0 for exact match */
|
||||
extern pollcat_time_t pollcat_timer_dispatch_thresh;
|
||||
/** This was removed and replaced with a simpler implementation which allowed slow/late
|
||||
* timers to run reliably. Setting it now has no effect. */
|
||||
extern pollcat_time_t pollcat_timer_dispatch_thresh __attribute__((deprecated));
|
||||
|
||||
|
||||
/** Maximum number of times to run the dispatch loop, set to -1 for no limit */
|
||||
|
||||
Reference in New Issue
Block a user