aboutsummaryrefslogtreecommitdiff
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Update multiprocessing to use semaphoreJoseph Hunkeler6 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 Hunkeler7 days1-0/+1
|
* Implement task timeoutJoseph Hunkeler7 days4-0/+6
| | | | | | * 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 Hunkeler13 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-141-11/+24
|
* Add --no-task-logging CLI argumentJoseph Hunkeler2025-11-142-0/+2
|
* 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
|
* 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 System struct comment positionsJoseph Hunkeler2025-11-041-4/+2
|
* Duplicate upload contextJoseph Hunkeler2025-11-041-1/+43
|
* 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
* 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
* Disable noisy debug statementsJoseph Hunkeler2025-07-081-2/+2
|
* Fix leakJoseph Hunkeler2025-07-071-0/+1
|
* Offset is constantJoseph Hunkeler2025-07-071-0/+1
|
* Use a copy of the environment variable if its presentJoseph Hunkeler2025-07-071-1/+4
|
* Return a copy of the input, not the input pointerJoseph Hunkeler2025-07-071-2/+1
|
* Separator as variableJoseph Hunkeler2025-07-071-0/+1
|
* Memory safetyJoseph Hunkeler2025-07-071-5/+27
|
* GrammarJoseph Hunkeler2025-07-071-1/+1
|
* Convert sprintf to snprintfJoseph Hunkeler2025-07-071-3/+2
|
* Add delivery_export.cJoseph Hunkeler2025-07-073-0/+83
|
* Remove dead codeJoseph Hunkeler2025-07-071-2/+0
|
* Merge pull request #114 from jhunkeler/fail-on-baked-in-vcs-requirementsJoseph Hunkeler2025-07-034-0/+111
|\ | | | | Ban Python packages with VCS requirement URLs
| * Ban Python packages with VCS requirement URLs in their setup scripts/configsfail-on-baked-in-vcs-requirementsJoseph Hunkeler2025-07-024-0/+111
| |
* | Bug: Injected --extra-index-url into conda and pip commandserrant-extra-indexJoseph Hunkeler2025-07-021-1/+1
|/ | | | * Fix: Only inject it in deferred PIP mode
* Allow git commit hashes in "version" fieldallow-hashes-as-versionJoseph Hunkeler2025-06-301-1/+1
|
* Add helper functionsJoseph Hunkeler2025-06-302-0/+33
| | | | | * in_ascii_range: determine if the input character is within the defined range * is_git_sha: determine if the string is most likely a git commit string
* Update to_short_version() documentationJoseph Hunkeler2025-06-301-9/+18
|
* Fix to_short_version to drop any values beyond "major.minor"Joseph Hunkeler2025-06-301-4/+27
| | | | * Fixes output file names: python=3.13.3 would produce 3133 instead of the expected 313
* A note to selfJoseph Hunkeler2025-06-271-0/+3
|