File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -70,6 +70,14 @@ func (p *Parser) ParseHeader() (common.DemoHeader, error) {
70
70
// See also: ParseNextFrame() for other possible errors.
71
71
func (p * Parser ) ParseToEnd () (err error ) {
72
72
defer func () {
73
+ // Make sure all the messages of the demo are handled
74
+ p .msgDispatcher .SyncAllQueues ()
75
+
76
+ // Close msgQueue
77
+ if p .msgQueue != nil {
78
+ close (p .msgQueue )
79
+ }
80
+
73
81
if err == nil {
74
82
err = recoverFromUnexpectedEOF (recover ())
75
83
}
@@ -89,12 +97,6 @@ func (p *Parser) ParseToEnd() (err error) {
89
97
90
98
default :
91
99
if ! p .parseFrame () {
92
- // Make sure all the messages of the demo are handled
93
- p .msgDispatcher .SyncAllQueues ()
94
-
95
- // Close msgQueue
96
- close (p .msgQueue )
97
-
98
100
return p .error ()
99
101
}
100
102
}
@@ -107,7 +109,7 @@ func (p *Parser) ParseToEnd() (err error) {
107
109
108
110
func recoverFromUnexpectedEOF (r interface {}) error {
109
111
if r != nil {
110
- if r == io .ErrUnexpectedEOF {
112
+ if r == io .ErrUnexpectedEOF || r == io . EOF {
111
113
return ErrUnexpectedEndOfDemo
112
114
}
113
115
panic (r )
You can’t perform that action at this time.
0 commit comments