node/lib/metasm/metasm/os/linux.rb
def syscall(arg=nil)
		arg = nil if arg and arg.strip == ''
		if b = check_breakpoint_cause and b.hash_shared.find { |bb| bb.state == :active }
			singlestep_bp(b) {
				next if not check_pre_run(:syscall, arg)
				@target_syscall = arg
				@state = :running
				@ptrace.pid = @tid
				@ptrace.syscall(@continuesignal)
			}
		else
			return if not check_pre_run(:syscall, arg)
			@target_syscall = arg
			@state = :running
			@ptrace.pid = @tid
			@ptrace.syscall(@continuesignal)
		end
	end
# use the PT_SYSCALL to break on next syscall
# regexp allowed to wait a specific syscall
use the PT_SYSCALL to break on next syscall
regexp allowed to wait a specific syscall
use the PT_SYSCALL to break on next syscall regexp allowed to wait a specific syscall
def syscall(arg=nil)
		arg = nil if arg and arg.strip == ''
		if b = check_breakpoint_cause and b.hash_shared.find { |bb| bb.state == :active }
			singlestep_bp(b) {
				next if not check_pre_run(:syscall, arg)
				@target_syscall = arg
				@state = :running
				@ptrace.pid = @tid
				@ptrace.syscall(@continuesignal)
			}
		else
			return if not check_pre_run(:syscall, arg)
			@target_syscall = arg
			@state = :running
			@ptrace.pid = @tid
			@ptrace.syscall(@continuesignal)
		end
	end
def syscall ( arg = nil ) arg = nil if arg and arg . strip == '' if b = check_breakpoint_cause and b . hash_shared . find { | bb | bb . state == :active } singlestep_bp ( b ) { next if not check_pre_run ( :syscall , arg ) @target_syscall = arg @state = :running @ptrace . pid = @tid @ptrace . syscall ( @continuesignal ) } else return if not check_pre_run ( :syscall , arg ) @target_syscall = arg @state = :running @ptrace . pid = @tid @ptrace . syscall ( @continuesignal ) end end
use the PT_SYSCALL to break on next syscall
regexp allowed to wait a specific syscall
use the PT_SYSCALL to break on next syscall regexp allowed to wait a specific syscall
arg