Commit b62cb1498a011357e419ec2791954c590817503b
1 parent
efc4c9ea
Exists in
master
and in
3 other branches
Debuggando uso simultâneo de várias sessões pelo mesmo aplicativo.
Showing
1 changed file
with
4 additions
and
8 deletions
Show diff stats
session.c
| ... | ... | @@ -97,13 +97,13 @@ void lib3270_session_free(H3270 *h) |
| 97 | 97 | if(h == default_session) |
| 98 | 98 | default_session = NULL; |
| 99 | 99 | |
| 100 | - | |
| 101 | 100 | // Release hostname info |
| 102 | 101 | release_pointer(h->host.current); |
| 103 | 102 | release_pointer(h->host.full); |
| 104 | 103 | release_pointer(h->host.srvc); |
| 105 | 104 | release_pointer(h->host.qualified); |
| 106 | 105 | |
| 106 | + trace("Releasing session %p",h); | |
| 107 | 107 | lib3270_free(h); |
| 108 | 108 | |
| 109 | 109 | } |
| ... | ... | @@ -258,14 +258,10 @@ H3270 * lib3270_session_new(const char *model) |
| 258 | 258 | |
| 259 | 259 | trace("%s - configured=%s",__FUNCTION__,default_session ? "Yes" : "No"); |
| 260 | 260 | |
| 261 | - if(default_session) | |
| 262 | - { | |
| 263 | - // TODO (perry#5#): Allocate a new structure. | |
| 264 | - errno = EBUSY; | |
| 265 | - return lib3270_get_default_session_handle(); | |
| 266 | - } | |
| 261 | + hSession = lib3270_malloc(sizeof(H3270)); | |
| 267 | 262 | |
| 268 | - hSession = default_session = lib3270_malloc(sizeof(H3270)); | |
| 263 | + if(!default_session) | |
| 264 | + default_session = hSession; | |
| 269 | 265 | |
| 270 | 266 | lib3270_session_init(hSession, model, _( "bracket" ) ); |
| 271 | 267 | ... | ... |