On Sat, Apr 23, 2011 at 8:48 AM, Lukas Renggli <renggli(a)gmail.com> wrote:
Strange that your groups end up with the 'users' list set to
'nil'.
Then again, it is kind of expected, because the objects between Pier
1.1 and 1.2 changed and the binary serialization mechanism isn't smart
and only supposed to work between two identical images/versions.
So you need to manually fix all PUGroup instances by setting the
inst-var 'users' to 'Set new' if nil. Try something along:
PUGroup allInstancesDo: [ :g |
g users isNil
ifTrue: [ g instVarNamed: 'users' put: Set new ] ]
That moved me one step further.
Next obstacle is PRInternalLink which in embeded inst var has empty
Array, while and this array gets returned by isEmbeded, and then gets
used as boolean in some block.
Did semantics of embeded inst var changed from 1.1 to 1.2? (and what
are they now :)
Maybe I could alter all instances of PRLink that have empty arrays as
embeded to be set to false, and other ones to true, but I do not know
if this is going to break something else since original embeded
informaton would be lost.
Thanks,
Davorin
Thanks
There might be other problems like this. And don't forget to check
your permissions afterwards, likely they are messed up.
Lukas
On 22 April 2011 23:20, Davorin Rusevljan <davorin.rusevljan(a)gmail.com> wrote:
> Well,
>
> I am afraid I have some more import related problems. Now I am
> attempting to import conents of 1.1 based pier to 1.2
>
> There were few problesm with missing packages, that I have resolved,
> and now import completes. Problem is that after import any atempt to
> access pier from web browser results with walkback as below:
>
> Davorin Rusevljan
>
>
> 22 April 2011 11:14:08 pm
>
> VM: Win32 - IX86 - 5.1 - Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.51]
> Image: Pharo1.2.1 [Latest update: #12345]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir C:\temp\pier2\Pier.app\Contents\Resources
> Trusted Dir C:\temp\pier2\Pier.app\Contents\Resources\VsiTe
> Untrusted Dir C:\Documents and Settings\VsiTe\My Documents\My Squeak
>
> UndefinedObject(Object)>>doesNotUnderstand: #includes:
> Receiver: nil
> Arguments and temporary variables:
> aMessage: includes: nil
> exception: MessageNotUnderstood: receiver of
"includes:" is nil
> resumeValue: nil
> Receiver's instance variables:
> nil
>
> PUGroup>>includes:
> Receiver: a PUGroup[1038352384] name: 'admin'
> Arguments and temporary variables:
> anUser: nil
> Receiver's instance variables:
> properties: nil
> name: 'admin'
> comment: a Set(a PUUser[209190912] name: 'kolumbina' a
> PUUser[30146560] name: '...etc...
> users: nil
>
> PUSecurity>>hasPermission:for:
> Receiver: a PUSecurity[382730240]
> Arguments and temporary variables:
> aPermission: View
> aUser: nil
> Receiver's instance variables:
> properties: nil
> decorated: a PRPage[7077888] name: 'pier'
> owner: a PUUser[30146560] name: 'admin'
> ownerPermissions: a Set(Add Component Add Blog View Add File
Remove
> Change Owne...etc...
> group: a PUGroup[1038352384] name: 'admin'
> groupPermissions: a Set(Add Component Add Blog View Add File
Remove
> Change Owne...etc...
> otherPermissions: a Set(View)
>
> [:permission | self hasPermission: permission for: aContext user] in
> PUSecurity>>isAllowedCommand:in:
> Receiver: a PUSecurity[382730240]
> Arguments and temporary variables:
> aContext: View
> permission: a PRContext[435945472] structure:
'Cloud208.com' command: 'View'
> Receiver's instance variables:
> properties: nil
> decorated: a PRPage[7077888] name: 'pier'
> owner: a PUUser[30146560] name: 'admin'
> ownerPermissions: a Set(Add Component Add Blog View Add File
Remove
> Change Owne...etc...
> group: a PUGroup[1038352384] name: 'admin'
> groupPermissions: a Set(Add Component Add Blog View Add File
Remove
> Change Owne...etc...
> otherPermissions: a Set(View)
>
> [:each |
> (aBlock value: each)
> ifTrue: [^ true].
> nil] in Array(Collection)>>anySatisfy:
> Receiver: an Array(View)
> Arguments and temporary variables:
> aBlock: View
> each: [:permission | self hasPermission: permission for: aContext
user]
> Receiver's instance variables:
> an Array(View)
>
> Array(SequenceableCollection)>>do:
> Receiver: an Array(View)
> Arguments and temporary variables:
> aBlock: [:each |
> (aBlock value: each)
> ifTrue: [^ true].
> nil]
> index: 1
> indexLimiT: 1
> Receiver's instance variables:
> an Array(View)
>
> Array(Collection)>>anySatisfy:
> Receiver: an Array(View)
> Arguments and temporary variables:
> aBlock: [:permission | self hasPermission: permission for:
aContext user]
> Receiver's instance variables:
> an Array(View)
>
> PUSecurity>>isAllowedCommand:in:
> Receiver: a PUSecurity[382730240]
> Arguments and temporary variables:
> aCommandClass: PRViewCommand
> aContext: a PRContext[435945472] structure:
'Cloud208.com' command: 'View'
> Receiver's instance variables:
> properties: nil
> decorated: a PRPage[7077888] name: 'pier'
> owner: a PUUser[30146560] name: 'admin'
> ownerPermissions: a Set(Add Component Add Blog View Add File
Remove
> Change Owne...etc...
> group: a PUGroup[1038352384] name: 'admin'
> groupPermissions: a Set(Add Component Add Blog View Add File
Remove
> Change Owne...etc...
> otherPermissions: a Set(View)
>
> [:each | each isAllowedCommand: aCommandClass in: aContext] in
> PRPage(PRStructure)>>isAllowedCommand:in:
> Receiver: a PRPage[7077888] name: 'pier'
> Arguments and temporary variables:
> aCommandClass: a PUSecurity[382730240]
> aContext: PRViewCommand
> each: a PRContext[435945472] structure: 'Cloud208.com'
command: 'View'
> Receiver's instance variables:
> properties: a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false #loca...etc...
> decorations: an Array(a PUSecurity[382730240] a
PRChildren[757071872])
> parent: nil
> name: 'pier'
> title: 'Cloud208.com'
> tags: #()
> document: a PRDocument[657195008]
>
> [:each | (aBlock value: each)
> ifFalse: [^ false]] in Array(Collection)>>allSatisfy:
> Receiver: an Array(a PUSecurity[382730240] a PRChildren[757071872])
> Arguments and temporary variables:
> aBlock: a PUSecurity[382730240]
> each: [:each | each isAllowedCommand: aCommandClass in: aContext]
> Receiver's instance variables:
> an Array(a PUSecurity[382730240] a PRChildren[757071872])
>
> Array(SequenceableCollection)>>do:
> Receiver: an Array(a PUSecurity[382730240] a PRChildren[757071872])
> Arguments and temporary variables:
> aBlock: [:each | (aBlock value: each)
> ifFalse: [^ false]]
> index: 1
> indexLimiT: 2
> Receiver's instance variables:
> an Array(a PUSecurity[382730240] a PRChildren[757071872])
>
> Array(Collection)>>allSatisfy:
> Receiver: an Array(a PUSecurity[382730240] a PRChildren[757071872])
> Arguments and temporary variables:
> aBlock: [:each | each isAllowedCommand: aCommandClass in:
aContext]
> Receiver's instance variables:
> an Array(a PUSecurity[382730240] a PRChildren[757071872])
>
> PRPage(PRStructure)>>isAllowedCommand:in:
> Receiver: a PRPage[7077888] name: 'pier'
> Arguments and temporary variables:
> aCommandClass: PRViewCommand
> aContext: a PRContext[435945472] structure:
'Cloud208.com' command: 'View'
> Receiver's instance variables:
> properties: a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false #loca...etc...
> decorations: an Array(a PUSecurity[382730240] a
PRChildren[757071872])
> parent: nil
> name: 'pier'
> title: 'Cloud208.com'
> tags: #()
> document: a PRDocument[657195008]
>
> PRPage(PRStructure)>>isValidCommand:in:
> Receiver: a PRPage[7077888] name: 'pier'
> Arguments and temporary variables:
> aCommandClass: PRViewCommand
> aContext: a PRContext[435945472] structure:
'Cloud208.com' command: 'View'
> Receiver's instance variables:
> properties: a Dictionary(#documents->a Dictionary()
> #hideFromMenus->false #loca...etc...
> decorations: an Array(a PUSecurity[382730240] a
PRChildren[757071872])
> parent: nil
> name: 'pier'
> title: 'Cloud208.com'
> tags: #()
> document: a PRDocument[657195008]
>
> PRViewCommand class(PRCommand class)>>isValidIn:
> Receiver: PRViewCommand
> Arguments and temporary variables:
> aContext: a PRContext[435945472] structure:
'Cloud208.com' command: 'View'
> Receiver's instance variables:
> superclass: PRCommand
> methodDict: a
> MethodDictionary(#asComponent->(PRViewCommand>>#asComponent "a
> Co...etc...
> format: 144
> instanceVariables: nil
> organization: ('*pier-seaside-accessing'
defaultViewComponentClass
> label render...etc...
> subclasses: nil
> name: #PRViewCommand
> classPool: nil
> sharedPools: nil
> environment: a SystemDictionary(lots of globals)
> category: #'Pier-Model-Command'
> traitComposition: {}
> localSelectors: nil
>
> PRContext>>isValidCommand:
> Receiver: a PRContext[435945472] structure: 'Cloud208.com' command:
'View'
> Arguments and temporary variables:
> aCommandClass: PRViewCommand
> Receiver's instance variables:
> properties: a Dictionary(#user->nil )
> kernel: a PRKernel[532414464] name: 'pier'
> structure: a PRPage[7077888] name: 'pier'
> command: a PRViewCommand[435159040]
>
> PRContext>>isValid
> Receiver: a PRContext[435945472] structure: 'Cloud208.com' command:
'View'
> Arguments and temporary variables:
>
> Receiver's instance variables:
> properties: a Dictionary(#user->nil )
> kernel: a PRKernel[532414464] name: 'pier'
> structure: a PRPage[7077888] name: 'pier'
> command: a PRViewCommand[435159040]
>
> PRPierFrame>>context:
> Receiver: a PRPierFrame
> Arguments and temporary variables:
> aContext: a PRContext[435945472] structure:
'Cloud208.com' command: 'View'
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a WAToolDecoration
> context: a PRContext[398721024] structure:
'Cloud208.com' command: 'View'
> children: nil
>
> PRPierFrame>>initialRequest:
> Receiver: a PRPierFrame
> Arguments and temporary variables:
> aRequest: a WARequest method: GET uri: / version: HTTP/1.1
> structure: a PRPage[7077888] name: 'pier'
> following: a PRContext[435945472] structure:
'Cloud208.com' command: 'View'
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a WAToolDecoration
> context: a PRContext[398721024] structure:
'Cloud208.com' command: 'View'
> children: nil
>
> WAInitialRequestVisitor>>visitPresenter:
> Receiver: a WAInitialRequestVisitor
> Arguments and temporary variables:
> aPresenter: a PRPierFrame
> Receiver's instance variables:
> request: a WARequest method: GET uri: / version: HTTP/1.1
>
> WAInitialRequestVisitor(WAPainterVisitor)>>visitComponent:
> Receiver: a WAInitialRequestVisitor
> Arguments and temporary variables:
> aComponent: a PRPierFrame
> Receiver's instance variables:
> request: a WARequest method: GET uri: / version: HTTP/1.1
>
> PRPierFrame(WAComponent)>>accept:
> Receiver: a PRPierFrame
> Arguments and temporary variables:
> aVisitor: a WAInitialRequestVisitor
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a WAToolDecoration
> context: a PRContext[398721024] structure:
'Cloud208.com' command: 'View'
> children: nil
>
> WAInitialRequestVisitor(WAVisitor)>>visit:
> Receiver: a WAInitialRequestVisitor
> Arguments and temporary variables:
> anObject: a PRPierFrame
> Receiver's instance variables:
> request: a WARequest method: GET uri: / version: HTTP/1.1
>
> WAAllPresenterGuide(WAPresenterGuide)>>visitPainter:
> Receiver: a WAAllPresenterGuide
> Arguments and temporary variables:
> aPainter: a PRPierFrame
> Receiver's instance variables:
> client: a WAInitialRequestVisitor
>
> WAAllPresenterGuide(WAPainterVisitor)>>visitPresenter:
> Receiver: a WAAllPresenterGuide
> Arguments and temporary variables:
> aPresenter: a PRPierFrame
> Receiver's instance variables:
> client: a WAInitialRequestVisitor
>
> WAAllPresenterGuide(WAVisiblePresenterGuide)>>visitPresenter:
> Receiver: a WAAllPresenterGuide
> Arguments and temporary variables:
> aPresenter: a PRPierFrame
> Receiver's instance variables:
> client: a WAInitialRequestVisitor
>
> WAAllPresenterGuide(WAPainterVisitor)>>visitComponent:
> Receiver: a WAAllPresenterGuide
> Arguments and temporary variables:
> aComponent: a PRPierFrame
> Receiver's instance variables:
> client: a WAInitialRequestVisitor
>
> PRPierFrame(WAComponent)>>accept:
> Receiver: a PRPierFrame
> Arguments and temporary variables:
> aVisitor: a WAAllPresenterGuide
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a WAToolDecoration
> context: a PRContext[398721024] structure:
'Cloud208.com' command: 'View'
> children: nil
>
> WAAllPresenterGuide(WAVisiblePresenterGuide)>>visitDecoration:
> Receiver: a WAAllPresenterGuide
> Arguments and temporary variables:
> aDecoration: a WAToolDecoration
> Receiver's instance variables:
> client: a WAInitialRequestVisitor
>
> WAToolDecoration(WADecoration)>>accept:
> Receiver: a WAToolDecoration
> Arguments and temporary variables:
> aVisitor: a WAAllPresenterGuide
> Receiver's instance variables:
> next: a WAValueHolder contents: a PRPierFrame
> plugins: an OrderedCollection(a WANewSessionToolPlugin a
> WAConfigureToolPlugin ...etc...
> showHalos: a WAValueHolder contents: false
> halos: an IdentityDictionary()
>
> WAAllPresenterGuide(WAPainterVisitor)>>visitDecorationsOfComponent:
> Receiver: a WAAllPresenterGuide
> Arguments and temporary variables:
> aComponent: a PRPierFrame
> Receiver's instance variables:
> client: a WAInitialRequestVisitor
>
> PRPierFrame(WAComponent)>>acceptDecorated:
> Receiver: a PRPierFrame
> Arguments and temporary variables:
> aVisitor: a WAAllPresenterGuide
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a WAToolDecoration
> context: a PRContext[398721024] structure:
'Cloud208.com' command: 'View'
> children: nil
>
> [super acceptDecorated: aPainterVisitor] in PRPierFrame>>acceptDecorated:
> Receiver: a PRPierFrame
> Arguments and temporary variables:
> aPainterVisitor: a WAAllPresenterGuide
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a WAToolDecoration
> context: a PRContext[398721024] structure:
'Cloud208.com' command: 'View'
> children: nil
>
> BlockClosure>>on:do:
> Receiver: [super acceptDecorated: aPainterVisitor]
> Arguments and temporary variables:
> exception: PRCurrentContext
> handlerAction: [:notification | notification resume: anObject]
> handlerActive: true
> Receiver's instance variables:
> outerContext: PRPierFrame>>acceptDecorated:
> startpc: 27
> numArgs: 0
>
> PRCurrentContext class>>use:during:
> Receiver: PRCurrentContext
> Arguments and temporary variables:
> anObject: a PRPierFrame
> aBlock: [super acceptDecorated: aPainterVisitor]
> Receiver's instance variables:
> superclass: GRNotification
> methodDict: a MethodDictionary()
> format: 140
> instanceVariables: nil
> organization: ('as yet unclassified')
>
> subclasses: nil
> name: #PRCurrentContext
> classPool: nil
> sharedPools: nil
> environment: a SystemDictionary(lots of globals)
> category: #'Pier-Model-Kernel'
> traitComposition: {}
> localSelectors: nil
>
> PRPierFrame>>withContextDo:
> Receiver: a PRPierFrame
> Arguments and temporary variables:
> aBlock: [super acceptDecorated: aPainterVisitor]
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a WAToolDecoration
> context: a PRContext[398721024] structure:
'Cloud208.com' command: 'View'
> children: nil
>
> PRPierFrame>>acceptDecorated:
> Receiver: a PRPierFrame
> Arguments and temporary variables:
> aPainterVisitor: a WAAllPresenterGuide
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a WAToolDecoration
> context: a PRContext[398721024] structure:
'Cloud208.com' command: 'View'
> children: nil
>
> WAAllPresenterGuide(WAPresenterGuide)>>visit:
> Receiver: a WAAllPresenterGuide
> Arguments and temporary variables:
> aPainter: a PRPierFrame
> Receiver's instance variables:
> client: a WAInitialRequestVisitor
>
> WAAllPresenterGuide(WAVisitor)>>start:
> Receiver: a WAAllPresenterGuide
> Arguments and temporary variables:
> anObject: a PRPierFrame
> Receiver's instance variables:
> client: a WAInitialRequestVisitor
>
>
> --- The full stack ---
> UndefinedObject(Object)>>doesNotUnderstand: #includes:
> PUGroup>>includes:
> PUSecurity>>hasPermission:for:
> [:permission | self hasPermission: permission for: aContext user] in
> PUSecurity>>isAllowedCommand:in:
> [:each |
> (aBlock value: each)
> ifTrue: [^ true].
> nil] in Array(Collection)>>anySatisfy:
> Array(SequenceableCollection)>>do:
> Array(Collection)>>anySatisfy:
> PUSecurity>>isAllowedCommand:in:
> [:each | each isAllowedCommand: aCommandClass in: aContext] in
> PRPage(PRStructure)>>isAllowedCommand:in:
> [:each | (aBlock value: each)
> ifFalse: [^ false]] in Array(Collection)>>allSatisfy:
> Array(SequenceableCollection)>>do:
> Array(Collection)>>allSatisfy:
> PRPage(PRStructure)>>isAllowedCommand:in:
> PRPage(PRStructure)>>isValidCommand:in:
> PRViewCommand class(PRCommand class)>>isValidIn:
> PRContext>>isValidCommand:
> PRContext>>isValid
> PRPierFrame>>context:
> PRPierFrame>>initialRequest:
> WAInitialRequestVisitor>>visitPresenter:
> WAInitialRequestVisitor(WAPainterVisitor)>>visitComponent:
> PRPierFrame(WAComponent)>>accept:
> WAInitialRequestVisitor(WAVisitor)>>visit:
> WAAllPresenterGuide(WAPresenterGuide)>>visitPainter:
> WAAllPresenterGuide(WAPainterVisitor)>>visitPresenter:
> WAAllPresenterGuide(WAVisiblePresenterGuide)>>visitPresenter:
> WAAllPresenterGuide(WAPainterVisitor)>>visitComponent:
> PRPierFrame(WAComponent)>>accept:
> WAAllPresenterGuide(WAVisiblePresenterGuide)>>visitDecoration:
> WAToolDecoration(WADecoration)>>accept:
> WAAllPresenterGuide(WAPainterVisitor)>>visitDecorationsOfComponent:
> PRPierFrame(WAComponent)>>acceptDecorated:
> [super acceptDecorated: aPainterVisitor] in PRPierFrame>>acceptDecorated:
> BlockClosure>>on:do:
> PRCurrentContext class>>use:during:
> PRPierFrame>>withContextDo:
> PRPierFrame>>acceptDecorated:
> WAAllPresenterGuide(WAPresenterGuide)>>visit:
> WAAllPresenterGuide(WAVisitor)>>start:
> - - - - - - - - - - - - - - -
> - - - - - - - - - - - - - - - - - -
> WARenderLoopMain>>prepareRoot:
> WARenderLoopMain>>start
> WASession>>start
> [^ self start] in WASession>>handleFiltered:
> WAMergedRequestFields>>at:ifAbsent:
> WASession>>handleFiltered:
> WAMutualExclusionFilter(WARequestFilter)>>handleFiltered:
> [super handleFiltered: aRequestContext] in
> WAMutualExclusionFilter>>handleFiltered:
> BlockClosure>>ensure:
> [owner := process.
> aBlock
> ensure: [owner := nil]] in WAMutex>>critical:
> [caught := true.
> self wait.
> blockValue := mutuallyExcludedBlock value] in Semaphore>>critical:
> BlockClosure>>ensure:
> Semaphore>>critical:
> WAMutex>>critical:
> WAMutualExclusionFilter>>handleFiltered:
> [self filter handleFiltered: aRequestContext] in
> WASession(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [WACurrentRequestContext use: self during: aBlock] in
> WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WASession(WARequestHandler)>>handle:
> WAApplication(WARegistry)>>dispatch:to:
> WAApplication(WARegistry)>>handle:registering:
> WAApplication>>handleDefault:
> WAApplication(WARegistry)>>handleFiltered:
> WAApplication>>handleFiltered:
> WAExceptionFilter(WARequestFilter)>>handleFiltered:
> [super handleFiltered: aRequestContext] in WAExceptionFilter>>handleFiltered:
> BlockClosure>>on:do:
> WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring:
> WAWalkbackErrorHandler class(WAExceptionHandler
> class)>>handleExceptionsDuring:context:
> WAExceptionFilter>>handleFiltered:
> [self filter handleFiltered: aRequestContext] in
> WAApplication(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [WACurrentRequestContext use: self during: aBlock] in
> WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WAApplication(WARequestHandler)>>handle:
> WADispatcher>>handleFiltered:named:
> WADispatcher>>handleDefault:
> WADispatcher>>handleFiltered:
> [self filter handleFiltered: aRequestContext] in
> WADispatcher(WARequestHandler)>>handle:
> BlockClosure>>on:do:
> WACurrentRequestContext class(WADynamicVariable class)>>use:during:
> [WACurrentRequestContext use: self during: aBlock] in
> WARequestContext>>push:while:
> BlockClosure>>ensure:
> WARequestContext>>push:while:
> WADispatcher(WARequestHandler)>>handle:
> [self requestHandler handle: aRequestContext] in
> WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
> BlockClosure>>on:do:
> WAComancheAdaptor(WAServerAdaptor)>>handleRequest:
> WAComancheAdaptor(WAServerAdaptor)>>handle:
> [self handle: context;
> responseFrom: context] in
WAComancheAdaptor(WAServerAdaptor)>>process:
> BlockClosure>>ensure:
> WAComancheAdaptor(WAServerAdaptor)>>process:
> WAComancheAdaptor>>processHttpRequest:
> HttpService>>processHttpRequest:
> [self target processHttpRequest: request] in HttpAdaptor>>dispatchRequest:
> BlockClosure>>on:do:
> HttpService>>handleDispatchErrorsIn:
> HttpAdaptor>>dispatchRequest:
> [[[request := self readRequest]
> on: Error
> do: [:ex | continue := false].
> continue
> ifTrue: [response := self dispatchRequest: request.
> self
> addConnectionHeaders: response
> request: request
> count: count.
> (self writeResponse: response for: request)
> ifFalse: [^ self].
> count := count + 1.
> continue := response isPersistent
> and: [count < limit]].
> continue] whileTrue.
> nil] in HttpAdaptor>>beginConversation
> BlockClosure>>ensure:
> HttpAdaptor>>beginConversation
> HttpAdaptor class>>readAndWriteTo:service:
> HttpAdaptor class>>readAndWriteToSocket:service:
> HttpService>>serve:
> [self serve: aSocket] in HttpService(TcpService)>>value:
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> _______________________________________________
> Magritte, Pier and Related Tools ...
>
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
>
--
Lukas Renggli
www.lukas-renggli.ch
_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki