aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update multiprocessing to use semaphoreJoseph Hunkeler3 days6-69/+1233
| | | | | | | | | | | | | | | | | * Introduce a small public domain timespec handling library * Renamed MultiProcessingTask members _now and _seconds to _interval_start and _interval_stop * Added interval_elapsed member * Change elapsed member from type int to double * mp_pool_free no longer tries to free semaphores with empty names * semaphore_init uses the correct default value of 1 instead of 2. The bug was related to calling semaphore_wait before the child() process started and semaphore_post after the parent exited. Now we post before the child to prevent a deadlock * Replace sleep with usleep in mp_pool_join. Set to 100ms. * Replace time() with clock_gettime() (helper functions created to prevent mistakes) * Stop recording time when the process ends. This fixes a bug where a process ends and up to 3 different elapsed times were reported to the user. * Progress output is now always available, not only when pid > 0 * Implement seconds_to_human_readable and hook it up to progress reporting calls. Breaking down thousands of seconds in my head after a long run was mentally exhausting. * Cleaned up some if-statements; removed else-if for clarity * Implemented a global timeout for pool tasks * Add register_semaphore() and semaphore_handle_exit() to aid with clean up. On Darwin a dangling shared memory file will lead to unexpected failures. These are destroyed via atexit().
* Fix broken header guardJoseph Hunkeler4 days1-0/+1
|
* Implement task timeoutJoseph Hunkeler4 days8-0/+52
| | | | | | * Add argument: --task-timeout=1[s,m,h] * Timed out tasks are SIGKILL'd * If killing a task fails, the entire program ends
* Fix undefined PSEMNAMLEN on DarwinJoseph Hunkeler10 days1-0/+5
|
* Remove blank lineJoseph Hunkeler2025-11-181-1/+0
|
* Add destroy to exampleJoseph Hunkeler2025-11-181-0/+2
|
* Enforce maximum buffer length of `name`Joseph Hunkeler2025-11-181-1/+8
|
* Remove debugging codeJoseph Hunkeler2025-11-171-4/+0
|
* Do not print error from within functionJoseph Hunkeler2025-11-171-1/+0
|
* Document semaphore usageJoseph Hunkeler2025-11-172-1/+43
|
* Integrate --no-task-logging CLI argumentJoseph Hunkeler2025-11-142-11/+27
|
* Add --no-task-logging CLI argumentJoseph Hunkeler2025-11-144-0/+5
|
* Decrease length of semaphore nameJoseph Hunkeler2025-11-141-1/+1
|
* Flush buffersJoseph Hunkeler2025-11-141-0/+3
|
* Integrate semaphoreJoseph Hunkeler2025-11-141-1/+3
|
* Integrate semaphoreJoseph Hunkeler2025-11-141-0/+11
|
* Integrate semaphoreJoseph Hunkeler2025-11-142-3/+19
|
* Add semaphore wrapperJoseph Hunkeler2025-11-143-0/+44
|
* Merge pull request #119 from jhunkeler/indexer-buffer-overlowJoseph Hunkeler2025-11-1014-93/+285
|\ | | | | Indexer buffer overflow and leak(s)
| * The release list should use the full count of releases, not nelem_realindexer-buffer-overlowJoseph Hunkeler2025-11-101-1/+1
| |
| * Squelch unused argument warningsJoseph Hunkeler2025-11-062-0/+4
| |
| * Delivery context is constantJoseph Hunkeler2025-11-061-1/+1
| |
| * Duplicate testsJoseph Hunkeler2025-11-061-0/+17
| |
| * Duplicate jfrog_authJoseph Hunkeler2025-11-061-0/+11
| |
| * Move docker struct duplication down to jfrog struct duplicationJoseph Hunkeler2025-11-061-9/+9
| |
| * Delivery context is not modifiedJoseph Hunkeler2025-11-061-1/+1
| |
| * Fix buffer overflow while building command stringJoseph Hunkeler2025-11-061-2/+2
| |
| * Initialize character arrays to zeroJoseph Hunkeler2025-11-041-7/+3
| | | | | | | | * Remove memset calls
| * Fix System struct comment positionsJoseph Hunkeler2025-11-041-4/+2
| |
| * Duplicate upload contextJoseph Hunkeler2025-11-041-1/+43
| |
| * Fix incorrect formatter in SYSERROR callJoseph Hunkeler2025-11-041-1/+1
| |
| * Convert context manipulation from stack+heap to just heapJoseph Hunkeler2025-11-0410-76/+85
| |
| * Fix possible overflow in command stringJoseph Hunkeler2025-11-041-3/+3
| |
| * get_latest_deliveries() now optionally returns the count of elements in the ↵Joseph Hunkeler2025-11-042-3/+8
| | | | | | | | returned array of Delivery structs
| * Add delivery_duplicate() and strdup_maybe() helperJoseph Hunkeler2025-11-042-0/+110
|/ | | | | * The indexer needs to generate copies of the delivery context. The previous implementation (memcpy) left a lot to be desired. * strdup_maybe() might be useful elsewhere but for now I am leaving it static
* Merge pull request #116 from jhunkeler/breakdownHEADmasterJoseph Hunkeler2025-07-0814-353/+552
|\ | | | | Breakdown & Bug fixes
| * Increase lines_on_error from 100 to 1000breakdownJoseph Hunkeler2025-07-082-2/+2
| | | | | | | | * Debug messages are chatty
| * Bugfix: Remove errant else blockJoseph Hunkeler2025-07-081-10/+15
| | | | | | | | | | * Add debug messages * Add error handling to cfg_path assignment
| * Free errmsg after useJoseph Hunkeler2025-07-081-0/+1
| |
| * Bugfix: HTTP_ERROR did not check for negative valuesJoseph Hunkeler2025-07-081-1/+1
| |
| * Debug messagesJoseph Hunkeler2025-07-082-0/+9
| |
| * Write error message correctly to the bufferJoseph Hunkeler2025-07-081-3/+3
| | | | | | | | | | * If errmsg is NULL, allocate and write string * If errmsg is not NULL, write string
| * Enable debug messages in RTJoseph Hunkeler2025-07-081-1/+1
| |
| * Set last records to NULLJoseph Hunkeler2025-07-081-1/+2
| |
| * Disable noisy debug statementsJoseph Hunkeler2025-07-081-2/+2
| |
| * Fix leak in artifactory testJoseph Hunkeler2025-07-071-0/+1
| |
| * Make want_(artifactory|docker) constantJoseph Hunkeler2025-07-071-3/+3
| |
| * Fix leakJoseph Hunkeler2025-07-071-0/+1
| |
| * Test for ini_getall()Joseph Hunkeler2025-07-071-0/+18
| |
| * Offset is constantJoseph Hunkeler2025-07-071-0/+1
| |