Clone and build Node for analysis:
$ git clone https://github.com/joyent/node.git
$ cd node
$ export GYP_DEFINES="v8_enable_disassembler=1"
$ ./configure
$ make -j4
[{"author":"Barry Smith","text":"Test"},{"author":"James Brown","text":"ASDFG!"}] |
dtrace -n 'syscall::writev:entry /execname == "node" && arg2 > 16/ { printf("iovcnt: %d", arg2); }' -n 'syscall::writev:return /execname == "node" && arg1 == -1 && errno == 22/ { printf("%s %s %d\\n", curpsinfo->pr_psargs, probefunc, errno); jstack(100, 8000); }' | |
1 10260 writev:entry iovcnt: 57 | |
1 10261 writev:return node --nouse-idle-notification /voxer/server/node_router/node_router.js /voxer/ writev 22\n | |
libc.so.1`__writev+0x15 | |
node`uv__write.part.5+0x18f | |
node`uv_write2+0x1b9 | |
node`uv_write+0x35 | |
node`_ZN4node10StreamWrap6WritevERKN2v89ArgumentsE+0x678 | |
node`_ZN2v88internalL21Builtin_HandleApiCallENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE+0x157 | |
<< internal code >> |
{-# LANGUAGE OverloadedStrings #-} | |
import qualified Network.HTTP.Conduit as H | |
import Control.Exception | |
import Web.Scotty | |
import System.Environment | |
import System.IO | |
import System.Directory | |
import Control.Monad | |
import Control.Monad.IO.Class | |
import qualified Data.ByteString.Lazy.Char8 as BS |
package com.example.helloworld.resources; | |
import javax.jws.WebMethod; | |
@javax.jws.WebService( | |
name = "AddNumbersPortType", | |
serviceName = "AddNumbersService", | |
targetNamespace = "http://duke.example.org") | |
@javax.jws.soap.SOAPBinding( | |
style = javax.jws.soap.SOAPBinding.Style.DOCUMENT, |