Commit Graph

34 Commits

Author SHA1 Message Date
e95f4619cd [project] change syscall to /x/sys/unix|windows
Changes most references of syscall to golang.org/x/sys/
Ones aren't changes include, Errno, Signal and SysProcAttr
as they haven't been implemented in /x/sys/.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>

[s390x] switch utsname from unsigned to signed

per 33267e036f
char in s390x in the /x/sys/unix package is now signed, so
change the buildtags

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
Upstream-commit: 069fdc8a083cb1663e4f86fe3fd9b9a1aebc3e54
Component: engine
2017-07-11 08:00:32 -04:00
e17da42389 Add test coverage to pkg/signal
Signed-off-by: Naveed Jamil <naveed.jamil@tenpearls.com>
Upstream-commit: 4b0df45c1a261354f10abb151b9acfa6b61f517d
Component: engine
2017-06-01 14:53:15 +05:00
594f65145f Move stack dump dir to exec root
Dump stack dumps to exec root instead of daemon root.
When no path is provided to the stack dumper, such is the case with
SIGQUIT, dump to stderr.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 0bd720b28dc7b416fe2193bdafaca011ec24d032
Component: engine
2016-11-16 12:55:18 -05:00
a8f159283e Spew debugging
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 4c62b1263648833122828cf8cc8259f5b7e32da5
Component: engine
2016-11-03 10:05:11 -07:00
f5432a5e82 daemon: always dump stack to file
Dumping to log is unusable in 90% of cases and inspecting file is much
more convenient.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: e5d36586acdd020a0a6d5840ea1fd060b6e3504b
Component: engine
2016-11-02 11:22:43 -07:00
0238cc6815 Replace api/client imports with cli/command in experimental files.
Using

git grep -l 'client\.DockerCli' cli/command/stack/ | xargs sed -i -e 's/client\.DockerCli/command\.Dockercli/g'

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 9c2b9358125175db366ca000e6dae9af8dc88e2d
Component: engine
2016-09-08 15:46:48 -04:00
4a9015ab13 Windows: Stack dump to file
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: b63c92bf241f410b0bda46b42b26f2f86b394c56
Component: engine
2016-07-21 20:04:47 -07:00
04ae4edf2f Fix logrus formatting
This fix tries to fix logrus formatting by removing `f` from
`logrus.[Error|Warn|Debug|Fatal|Panic|Info]f` when formatting string
is not present.

This fix fixes #23459.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: a72b45dbec3caeb3237d1af5aedd04adeb083571
Component: engine
2016-06-11 13:16:55 -07:00
bd8dbcc1e8 Merge pull request #22460 from jwhonce/wip/sigpipe
Ignore SIGPIPE events
Upstream-commit: 171af5493121bada5c0e8167ade44da52648d0e2
Component: engine
2016-06-02 16:05:22 +02:00
3a35464d9d Get the Docker Engine to build clean on Solaris
Signed-off-by: Amit Krishnan <krish.amit@gmail.com>
Upstream-commit: 86d8758e2bb5e9d21d454ceda90b33feb8e74771
Component: engine
2016-05-23 16:37:12 -07:00
e97c8e38c0 Ignore SIGPIPE events, resolves #19728
Using golang 1.6, is it now possible to ignore SIGPIPE events on
stdout/stderr.  Previous versions of the golang library cached 10
events and then killed the process receiving the events.

systemd-journald sends SIGPIPE events when jounald is restarted and
the target of the unit file writes to stdout/stderr. Docker logs to stdout/stderr.

This patch silently ignores all SIGPIPE events.

Signed-off-by: Jhon Honce <jhonce@redhat.com>
Upstream-commit: 55a367d2fe2feecf7b95fbddcdcb3ed179c197fe
Component: engine
2016-05-23 15:26:41 -07:00
c955c9e289 Don't forward SIGPIPE from client to container
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 81707de23ff6d0b03bd8d5cda87efac7939d9d46
Component: engine
2016-03-18 16:50:18 -04:00
b72fb39a59 Define all of the signals defined by kill -l
1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX

This will allow users to specify signals by name.  Needed to make docker run --stop-signal
work as defined by systemd.

man systemd

defines the proper way to shutdown a systemd running as pid 1 in a container as

SIGRTMIN+4

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
Upstream-commit: d1ae13b0b06c109fb7c62bf86f3a9337bca630b5
Component: engine
2015-11-12 09:55:18 -05:00
803f14d503 Windows: [TP4] docker kill handling
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: bc503ca8ab2303066cc64d752ffff05100a9b267
Component: engine
2015-10-13 16:04:49 -07:00
a6257190dd Windows: Enable kill (part one)
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 2dca1bc6337043e25e626b4444da29b3ca5d3660
Component: engine
2015-10-13 08:42:47 -07:00
d563cc164c Signal to stop a container.
Allow to set the signal to stop a container in `docker run`:
- Use `--stop-signal` with docker-run to set the default signal the container will use to exit.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 0e50d946a25beb134bce2aaf4a209b5cfcbacf8f
Component: engine
2015-09-10 19:56:05 -04:00
721651d0df Ensure goroutines dump is not truncated
Calling runtime.Stack requires the buffer to be big enough to fit the
goroutines dump. If it's not big enough the dump will be truncated and
the value returned will be the same size as the buffer.

The code was changed to handle this situation and try again with a
bigger buffer. Each time the dump doesn't fit in the buffer its size is
doubled.

Signed-off-by: Cezar Sa Espinola <cezarsa@gmail.com>
Upstream-commit: e787296c75c15d1a4d32474432f674d6d58ee4c1
Component: engine
2015-09-04 14:50:37 -03:00
2db54e3ac2 Lint on pkg/* packages
- pkg/useragent
- pkg/units
- pkg/ulimit
- pkg/truncindex
- pkg/timeoutconn
- pkg/term
- pkg/tarsum
- pkg/tailfile
- pkg/systemd
- pkg/stringutils
- pkg/stringid
- pkg/streamformatter
- pkg/sockets
- pkg/signal
- pkg/proxy
- pkg/progressreader
- pkg/pools
- pkg/plugins
- pkg/pidfile
- pkg/parsers
- pkg/parsers/filters
- pkg/parsers/kernel
- pkg/parsers/operatingsystem

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 18c7c67308bd4a24a41028e63c2603bb74eac85e
Component: engine
2015-07-27 21:26:21 +02:00
c0e7d1e48e Add SIGUSR1 handler for dumping stack/goroutine traces
Add handler for SIGUSR1 based on feedback regarding when to dump
goroutine stacks.  This will also dump goroutine stack traces on SIGQUIT
followed by a hard-exit from the daemon.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 95fcf76cc64a4acf95c168e8d8607e3acf405c13
Component: engine
2015-05-12 10:09:23 +10:00
e5b36a723c Replace aliased imports of logrus, fixes #11762
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: 6f4d847046cb4e072de61d042c0266190d73a8c9
Component: engine
2015-03-26 23:22:04 +01:00
517a83c6d1 #11585: README for pkg/signal. Signed-off-by: Vladimir Roudakov <v_roudakov@yahoo.com>
Signed-off-by: VladimirAus <v_roudakov@yahoo.com>
Upstream-commit: 9b876b9c03f3ab5c2fecc5bc7a1501970f487b2a
Component: engine
2015-03-26 21:18:27 +10:00
c21c1c5984 Removed race condition
If two interrupts were fired really quickly interruptCount could have been incremented twice before the LoadUint32 making cleanup not being called at all.

Signed-off-by: Erik Dubbelboer <erik@dubbelboer.com>
Upstream-commit: 46b1194d996f6535e657bcb88428303305d3fe68
Component: engine
2014-12-06 22:52:19 +08:00
2e7196248a Extract client signals to pkg/signal
SIGCHLD and SIGWINCH used in api/client (cli code) are not
available on Windows. Extracting into separate files with build
tags.

Signed-off-by: Ahmet Alp Balkan <ahmetb@microsoft.com>
Upstream-commit: 91a86670aac52d916c81a818aff3dfcf445da83e
Component: engine
2014-11-14 18:20:53 -08:00
2d56e3cbc6 Use logrus everywhere for logging
Fixed #8761

Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 7c62cee51edc91634046b4faa6c6f1841cd53ec1
Component: engine
2014-10-24 15:03:06 -07:00
50457aefd5 daemon logging: unifying output and timestamps
A little refactor of the ./pkg/log so engine can have a logger instance

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: 92df943fbf225d78b160babb36e9c6fd38cdc0d0
Component: engine
2014-09-26 14:44:46 -04:00
14291aae78 Exit after receiving SIGTERM
Signed-off-by: Michael Crosby <michael@docker.com>
Upstream-commit: cdf8a55670793a135a53549c5e1877c33a66be0c
Component: engine
2014-08-13 12:18:23 -07:00
73ece46978 Move signal handling code to pkg/signal.Trap
Signed-off-by: Solomon Hykes <solomon@docker.com>
Upstream-commit: d55e3fea72efb2ae24e4fe1781bbe9002846f4d3
Component: engine
2014-08-06 17:56:11 +00:00
76dc816a6e Guillaume is busy full-time on his new business, and no longer available
as a maintainer.

Best of luck on your e-commerce business Guillaume, and thanks for all
the great contributions!

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 41d437117d13d445192b92a93955dec5c012512c
Component: engine
2014-06-16 06:22:15 -07:00
bde45636d6 Fix various MAINTAINERS format inconsistencies
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
Upstream-commit: defecac2799ca0c72532b7e6ed6005cc54ee2e25
Component: engine
2014-04-30 11:22:11 -06:00
84def4f523 Update email + add self to pkg/signal
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Upstream-commit: 915d967f556bc7bb3faea34db8a06ea64fd5de92
Component: engine
2014-03-10 20:26:45 -07:00
ed3716396b Like signal_linux.go, we don't have import os and os/signal
Docker-DCO-1.1-Signed-off-by: Kato Kazuyoshi <kato.kazuyoshi@gmail.com> (github: kzys)
Upstream-commit: b2cd89056f5c49746ee668946ce4e1771f3ce368
Component: engine
2014-03-11 23:14:58 +09:00
9db05a87c8 Make docker use the signal pkg with strings
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Upstream-commit: 157f24ca77a38f7c5c2b22322a2a353d5098a21e
Component: engine
2014-03-10 17:36:47 -07:00
9d9d39b644 Create portable signalMap
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Upstream-commit: 10dc16dcd3aa82be256e5072a25dcf18af8e3844
Component: engine
2014-03-10 17:36:41 -07:00
357d278b81 Move signal to pkg
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Upstream-commit: c5632622391921160687f3e0155bdfe3d3cfc07d
Component: engine
2014-03-10 17:36:32 -07:00