Linux server1.dn-server.com 4.18.0-553.89.1.lve.el8.x86_64 #1 SMP Wed Dec 10 13:58:50 UTC 2025 x86_64
LiteSpeed
Server IP : 195.201.204.189 & Your IP : 216.73.216.198
Domains :
Cant Read [ /etc/named.conf ]
User : beriska1
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
ruby30 /
share /
ri /
system /
Delete
Unzip
Name
Size
Permission
Date
Action
ACL
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ARGF
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Abbrev
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Addrinfo
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ArgumentError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Array
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Base64
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
BasicObject
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
BasicSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Benchmark
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
BigDecimal
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
BigMath
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Binding
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Bundler
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
CGI
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
CSV
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Class
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ClosedQueueError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Comparable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Complex
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ConditionVariable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Continuation
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
CoreExtensions
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Coverage
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
DBM
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
DBMError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
DEBUGGER__
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
DRb
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Date
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
DateTime
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Delegator
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
DidYouMean
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Digest
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Dir
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ENV
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
EOFError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ERB
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
EXCEPTION_TYPE
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Encoding
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
EncodingError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
English
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Enumerable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Enumerator
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Errno
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Etc
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Exception
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ExceptionForMatrix
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FalseClass
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Fcntl
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Fiber
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FiberError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Fiddle
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
File
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FileTest
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FileUtils
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Find
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Float
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FloatDomainError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Forwardable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FrozenError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
GC
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
GDBM
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
GDBMError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
GDBMFatalError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Gem
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
GetoptLong
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
HTTPClientException
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
HTTPGatewayTimeOut
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
HTTPMovedTemporarily
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
HTTPMultipleChoice
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
HTTPRequestEntityTooLarge
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
HTTPRequestTimeOut
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
HTTPRequestURITooLarge
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
HTTPRequestURITooLong
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
HTTPRequestedRangeNotSatisfiable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Hash
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IO
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IOError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IPAddr
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IPSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IRB
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IndexError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Integer
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Interrupt
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
JSON
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Jacobian
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Kconv
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Kernel
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
KeyError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
LUSolve
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
LoadError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
LocalJumpError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Logger
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
MakeMakefile
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Marshal
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
MatchData
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Math
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Matrix
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Method
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Module
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Monitor
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
MonitorMixin
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Mutex
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Mutex_m
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NKF
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NameError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Net
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Newton
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NilClass
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NoMatchingPatternError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NoMemoryError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NoMethodError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NotImplementedError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Numeric
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OLEProperty
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Object
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ObjectSpace
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Observable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Open3
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OpenSSL
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OpenStruct
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OpenURI
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OptionParser
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
PP
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
PStore
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
PTY
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Pathname
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Pool
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
PrettyPrint
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Prime
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Proc
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Process
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Psych
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Queue
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RDoc
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RDocTask
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Racc
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Ractor
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Rake
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Random
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Range
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RangeError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Rational
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RbConfig
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Readline
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Regexp
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RegexpError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Reline
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Resolv
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Rinda
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Ripper
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RubyLex
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RubyVM
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RuntimeError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SOCKSSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ScriptError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SecureRandom
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SecurityError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Set
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Shellwords
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Signal
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SignalException
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SimpleDelegator
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SingleForwardable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Singleton
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SizedQueue
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Socket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SocketError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
StandardError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
StopIteration
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
String
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
StringIO
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
StringScanner
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Struct
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Symbol
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SyntaxError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Syslog
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SystemCallError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SystemExit
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SystemStackError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TCPServer
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TCPSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TSort
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Tempfile
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Thread
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ThreadError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ThreadGroup
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Time
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Timeout
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TracePoint
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Tracer
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TrueClass
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TypeError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UDPSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UNIXServer
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UNIXSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
URI
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UnboundMethod
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UncaughtThrowError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UnicodeNormalize
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Vector
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLEQueryInterfaceError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLERuntimeError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_EVENT
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_METHOD
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_PARAM
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_RECORD
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_TYPE
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_TYPELIB
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_VARIABLE
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_VARIANT
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Warning
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WeakRef
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Win32
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
XMP
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
YAML
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ZeroDivisionError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Zlib
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
fatal
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
lib
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
syntax
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
win32
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
cache.ri
291
KB
-rw-r--r--
2024-06-26 17:25
page-CONTRIBUTING_md.ri
358
B
-rw-r--r--
2024-06-26 17:25
page-COPYING.ri
3.06
KB
-rw-r--r--
2024-06-26 17:25
page-COPYING_ja.ri
3.16
KB
-rw-r--r--
2024-06-26 17:25
page-LEGAL.ri
48.36
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-1_8_7.ri
22.05
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-1_9_1.ri
17.56
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-1_9_2.ri
20.67
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-1_9_3.ri
14.91
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-2_0_0.ri
26.03
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-2_1_0.ri
18.2
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-2_2_0.ri
16.89
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-2_3_0.ri
17.8
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-2_4_0.ri
16.02
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-2_5_0.ri
23.8
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-2_6_0.ri
24.97
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS-2_7_0.ri
31.66
KB
-rw-r--r--
2024-06-26 17:25
page-NEWS_md.ri
30.46
KB
-rw-r--r--
2024-06-26 17:25
page-README_ja_md.ri
10.93
KB
-rw-r--r--
2024-06-26 17:25
page-README_md.ri
8.33
KB
-rw-r--r--
2024-06-26 17:25
page-bug_triaging_rdoc.ri
4.83
KB
-rw-r--r--
2024-06-26 17:25
page-contributing_rdoc.ri
20.87
KB
-rw-r--r--
2024-06-26 17:25
page-dig_methods_rdoc.ri
3.66
KB
-rw-r--r--
2024-06-26 17:25
page-dtrace_probes_rdoc.ri
9.92
KB
-rw-r--r--
2024-06-26 17:25
page-extension_ja_rdoc.ri
85.53
KB
-rw-r--r--
2024-06-26 17:25
page-extension_rdoc.ri
86.75
KB
-rw-r--r--
2024-06-26 17:25
page-fiber_md.ri
5.72
KB
-rw-r--r--
2024-06-26 17:25
page-globals_rdoc.ri
5.82
KB
-rw-r--r--
2024-06-26 17:25
page-implicit_conversion_rdoc.ri
7.22
KB
-rw-r--r--
2024-06-26 17:25
page-keywords_rdoc.ri
6.29
KB
-rw-r--r--
2024-06-26 17:25
page-maintainers_rdoc.ri
15.36
KB
-rw-r--r--
2024-06-26 17:25
page-make_cheatsheet_md.ri
3.44
KB
-rw-r--r--
2024-06-26 17:25
page-marshal_rdoc.ri
14.17
KB
-rw-r--r--
2024-06-26 17:25
page-memory_view_md.ri
8.85
KB
-rw-r--r--
2024-06-26 17:25
page-method_documentation_rdoc.ri
8.95
KB
-rw-r--r--
2024-06-26 17:25
page-ractor_md.ri
31.38
KB
-rw-r--r--
2024-06-26 17:25
page-regexp_rdoc.ri
35.68
KB
-rw-r--r--
2024-06-26 17:25
page-security_rdoc.ri
7.09
KB
-rw-r--r--
2024-06-26 17:25
page-signals_rdoc.ri
4.96
KB
-rw-r--r--
2024-06-26 17:25
page-standard_library_rdoc.ri
9.17
KB
-rw-r--r--
2024-06-26 17:25
page-syntax_rdoc.ri
1.88
KB
-rw-r--r--
2024-06-26 17:25
Save
Rename
U:RDoc::TopLevel[ i I"signals.rdoc:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[S:RDoc::Markup::Heading: leveli: textI"3Caveats for implementing Signal.trap callbacks;To:RDoc::Markup::BlankLine o:RDoc::Markup::Paragraph;[ I"HAs with implementing signal handlers in C or most other languages, ;TI"Gall code passed to Signal.trap must be reentrant. If you are not ;TI"<familiar with reentrancy, you need to read up on it at ;TI"J{Wikipedia}[https://en.wikipedia.org/wiki/Reentrancy_(computing)] or ;TI"8elsewhere before reading the rest of this document.;T@ o; ;[I"FMost importantly, "thread-safety" does not guarantee reentrancy; ;TI"Dand methods such as Mutex#lock and Mutex#synchronize which are ;TI"=commonly used for thread-safety even prevent reentrancy.;T@ S; ; i;I",An implementation detail of the Ruby VM;T@ o; ;[I"LThe Ruby VM defers Signal.trap callbacks from running until it is safe ;TI"Lfor its internal data structures, but it does not know when it is safe ;TI"Hfor data structures in YOUR code. Ruby implements deferred signal ;TI"9handling by registering short C functions with only ;TI"a{async-signal-safe functions}[http://man7.org/linux/man-pages/man7/signal-safety.7.html] as ;TI"Msignal handlers. These short C functions only do enough tell the VM to ;TI"Lrun callbacks registered via Signal.trap later in the main Ruby Thread.;T@ S; ; i;I"1Unsafe methods to call in Signal.trap blocks;T@ o; ;[I"HWhen in doubt, consider anything not listed as safe below as being ;TI"unsafe.;T@ o:RDoc::Markup::List: @type:BULLET:@items[ o:RDoc::Markup::ListItem:@label0;[o; ;[I"JMutex#lock, Mutex#synchronize and any code using them are explicitly ;TI"Gunsafe. This includes Monitor in the standard library which uses ;TI"!Mutex to provide reentrancy.;T@ o;;0;[o; ;[I"Dir.chdir with block;T@ o;;0;[o; ;[ I"4any IO write operations when IO#sync is false; ;TI"5including IO#write, IO#write_nonblock, IO#puts. ;TI"EPipes and sockets default to `IO#sync = true', so it is safe to ;TI"/write to them unless IO#sync was disabled.;T@ o;;0;[o; ;[I"JFile#flock, as the underlying flock(2) call is not specified by POSIX;T@ S; ; i;I"7Commonly safe operations inside Signal.trap blocks;T@ o;;;;[ o;;0;[o; ;[I"EAssignment and retrieval of local, instance, and class variables;T@ o;;0;[o; ;[I"AMost object allocations and initializations of common types ;TI"1including Array, Hash, String, Struct, Time.;T@ o;;0;[o; ;[I"PCommon Array, Hash, String, Struct operations which do not execute a block ;TI"Hare generally safe; but beware if iteration is occurring elsewhere.;T@ o;;0;[o; ;[I"BHash#[], Hash#[]= (unless Hash.new was given an unsafe block);T@ o;;0;[o; ;[I"DThread::Queue#push and Thread::SizedQueue#push (since Ruby 2.1);T@ o;;0;[o; ;[I"GCreating a new Thread via Thread.new/Thread.start can used to get ;TI">around the unusability of Mutexes inside a signal handler;T@ o;;0;[o; ;[I"CSignal.trap is safe to use inside blocks passed to Signal.trap;T@ o;;0;[ o; ;[I">arithmetic on Integer and Float (`+', `-', '%', '*', '/');T@ o; ;[ I"EAdditionally, signal handlers do not run between two successive ;TI"Flocal variable accesses, so shortcuts such as `+=' and `-=' will ;TI"Gnot trigger a data race when used on Integer and Float classes in ;TI"signal handlers.;T@ S; ; i;I"BSystem call wrapper methods which are safe inside Signal.trap;T@ o; ;[ I")Since Ruby has wrappers around many ;TI"`{async-signal-safe C functions}[http://man7.org/linux/man-pages/man7/signal-safety.7.html] ;TI"Kthe corresponding wrappers for many IO, File, Dir, and Socket methods ;TI"are safe.;T@ o; ;[I"(Incomplete list);T@ o;;;;[#o;;0;[o; ;[I""Dir.chdir (without block arg);To;;0;[o; ;[I"Dir.mkdir;To;;0;[o; ;[I" Dir.open;To;;0;[o; ;[I"File#truncate;To;;0;[o; ;[I"File.link;To;;0;[o; ;[I"File.open;To;;0;[o; ;[I"File.readlink;To;;0;[o; ;[I"File.rename;To;;0;[o; ;[I"File.stat;To;;0;[o; ;[I"File.symlink;To;;0;[o; ;[I"File.truncate;To;;0;[o; ;[I"File.unlink;To;;0;[o; ;[I"File.utime;To;;0;[o; ;[I" IO#close;To;;0;[o; ;[I"IO#dup;To;;0;[o; ;[I" IO#fsync;To;;0;[o; ;[I"IO#read;To;;0;[o; ;[I"IO#read_nonblock;To;;0;[o; ;[I"IO#stat;To;;0;[o; ;[I"IO#sysread;To;;0;[o; ;[I"IO#syswrite;To;;0;[o; ;[I"IO.select;To;;0;[o; ;[I"IO.pipe;To;;0;[o; ;[I"Process.clock_gettime;To;;0;[o; ;[I"Process.exit!;To;;0;[o; ;[I"Process.fork;To;;0;[o; ;[I"Process.kill;To;;0;[o; ;[I"Process.pid;To;;0;[o; ;[I"Process.ppid;To;;0;[o; ;[I"Process.waitpid;To; ;[I"...;T: @file@:0@omit_headings_from_table_of_contents_below0