Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Builder curl-unthreaded-solaris11-sparc Build #6180

Results:

Build successful

SourceStamp:

Projectcurl
Repositoryhttps://github.com/curl/curl.git
Branchmaster
Revision9ea48811fed455d4a869eb100b2216f039f8677a
Got Revision9ea48811fed455d4a869eb100b2216f039f8677a
Changes1 change

BuildSlave:

unstable11s

Reason:

The SingleBranchScheduler scheduler named 'schedule-curl-unthreaded-solaris11-sparc' triggered this build

Steps and Logfiles:

  1. git update ( 9 secs )
    1. stdio
  2. Runtest './tests/testcurl.pl --nogitpull ...' ( 23 mins, 21 secs )
    1. stdio
    2. resultlog
  3. Mail result 'cat resultlog ...' ( 2 secs )
    1. stdio

Build Properties:

NameValueSource
branch master Build
builddir /export/home/buildbot/slave/curl-unthreaded-solaris11-sparc slave
buildername curl-unthreaded-solaris11-sparc Builder
buildnumber 6180 Build
codebase Build
got_revision 9ea48811fed455d4a869eb100b2216f039f8677a Git
osplatform SPARC SetPropertyFromCommand Step
osrelease 11 SetPropertyFromCommand Step
project curl Build
repository https://github.com/curl/curl.git Build
revision 9ea48811fed455d4a869eb100b2216f039f8677a Build
scheduler schedule-curl-unthreaded-solaris11-sparc Scheduler
slavename unstable11s BuildSlave
workdir /export/home/buildbot/slave/curl-unthreaded-solaris11-sparc slave (deprecated)

Forced Build Properties:

NameLabelValue

Responsible Users:

  1. Viktor Szakats

Timing:

StartThu Aug 6 12:24:42 2026
EndThu Aug 6 13:11:52 2026
Elapsed47 mins, 9 secs

All Changes:

:

  1. Change #277262

    Category curl
    Changed by Viktor Szakats <commitohnoyoudont@vsz.me>
    Changed at Thu 06 Aug 2026 14:03:51
    Repository https://github.com/curl/curl.git
    Project curl
    Branch master
    Revision 9ea48811fed455d4a869eb100b2216f039f8677a

    Comments

    servers: drop duplicate (and interacting) ctrl handlers on Windows, add exit message
    On Windows, the init code calls `SetConsoleCtrlHandler()`, and before
    this patch also set handlers for all Unixy signals. Of these, `SIGBREAK`
    (used on Windows-only), `SIGINT`, `SIGABRT` and `SIGTERM` were also
    setting up a `SetConsoleCtrlHandler()`, in addition to the call made
    directly. (The rest, `SIGHUP`, `SIGPIPE`, `SIGALRM` are either missing
    the macros, or ignored by `signal()` on Windows.)
    
    As per WINE sources, `SetConsolCtrlHandler(<h>, TRUE)` calls are
    additive, which means the test server set up two console ctrl handlers.
    
    Then the ctrl handler set directly (`ctrl_event_handler()`), was
    triggering the other signal handler via `raise()`, for the 'initiate
    exit' logic, which in turn triggered exiting a wait within `select_ws()`
    and other loops. The Windows window handler also made use of the
    `SIGTERM` event to initiate exit via `raise()` and the second signal
    handler.
    
    To simplify, de-duplicate the ctrl handlers by dropping `signal()` calls
    and keeping the direct Win32 call with `ctrl_event_handler()` doing all
    the signal handling on Windows. Break out the 'initiate exit' logic into
    a function and call it from both Unix and Windows signal/ctrl/window
    handlers. Also drop calling `raise()` on exit, because it's a no-op
    without a `signal()` pair.
    
    Also:
    - drop logging the actual ctrl type number, replace with just logging
      whether we handled the event, in `ctrl_event_handler()`. To avoid
      using non-signal-safe functions (e.g. `fprintf()`) from the handler.
    - also replace `logmsg()` with `WriteFile()` to prevent regressions.
      Ref: #22045
    - replace `logmsg()` with `WriteFile()` in `main_window_proc()`.
    - fix to forward ctrl handling to the OS in the rare case of failed
      `exit_event` initialization on startup. To swap a possible hang
      (within `WaitForMultipleObjectsEx()`) with an ungraceful shutdown.
    - add support for an 'exit message' string, set by signal/ctrl handlers,
      and log it on app exit. To avoid the need to deal with logging within
      the handlers, yet have a static trace message about the event.
      Complementing the already logged signal number.
    - drop stderr trace message from `exit_signal_handler()` in favor of an
      exit message. runtests triggers it frequantly, which added much noise
      to stderr. As a bonus, this also allows dropping the compiler warning
      suppression.
      Reported-by: Stefan Eissing
      Bug: https://github.com/curl/curl/pull/22487#issuecomment-5204092974
      Follow-up to 3aae64e4fbee7c1fa408c54df18d3f631781c283 #22507
    
    Refs:
    https://learn.microsoft.com/windows/console/setconsolectrlhandler
    https://learn.microsoft.com/windows/console/registering-a-control-handler-function
    https://learn.microsoft.com/cpp/c-runtime-library/reference/raise
    https://learn.microsoft.com/cpp/c-runtime-library/reference/signal
    https://gitlab.winehq.org/wine/wine/-/blob/wine-11.14/dlls/kernelbase/console.c#L1517-1526
    https://github.com/huangqinjin/ucrt/blob/d6e817a4cc90f6f1fe54f8a0aa4af4fff0bb647d/misc/signal.cpp#L286-L348
    
    Follow-up to fe28fcf04cdfe7c6e1ab4499a33f9b8479839f14 7dc8a981fa043b9dbbae3a632229b74dcd868bd7 0e058776c02cf8ddc753a36f9cde98cc87899d51 #5260
    
    Closes #22487

    Changed files

    • tests/server/first.c
    • tests/server/first.h
    • tests/server/util.c