View | Details | Raw Unified | Return to bug 219456
Collapse All | Expand All

(-)kdm.orig/backend/ctrl.c (-1 / +3 lines)
Lines 841-848 Link Here
841
					}
841
					}
842
					break;
842
					break;
843
				case remoteLogin:
843
				case remoteLogin:
844
					if (di->serverPid != -1 && nuke)
844
					if (di->serverPid != -1 && nuke) {
845
						TerminateProcess( di->serverPid, di->termSignal );
845
						TerminateProcess( di->serverPid, di->termSignal );
846
						system("/sbin/rmmod nvidia fglrx");
847
					}
846
					break;
848
					break;
847
				case reserve:
849
				case reserve:
848
					di->status = notRunning;
850
					di->status = notRunning;
(-)kdm.orig/backend/dm.c (-1 / +4 lines)
Lines 1411-1418 Link Here
1411
	if (d->serverPid != -1 || d->pid != -1) {
1411
	if (d->serverPid != -1 || d->pid != -1) {
1412
		if (d->pid != -1)
1412
		if (d->pid != -1)
1413
			TerminateProcess( d->pid, SIGTERM );
1413
			TerminateProcess( d->pid, SIGTERM );
1414
		if (d->serverPid != -1)
1414
		if (d->serverPid != -1) {
1415
			TerminateProcess( d->serverPid, d->termSignal );
1415
			TerminateProcess( d->serverPid, d->termSignal );
1416
			system("/sbin/rmmod nvidia fglrx");
1417
		}
1416
		d->status = zombie;
1418
		d->status = zombie;
1417
		d->zstatus = endState & 0xff;
1419
		d->zstatus = endState & 0xff;
1418
		Debug( " zombiefied\n" );
1420
		Debug( " zombiefied\n" );
Lines 1529-1534 Link Here
1529
			{
1531
			{
1530
				Debug( "killing X server for %s\n", d->name );
1532
				Debug( "killing X server for %s\n", d->name );
1531
				TerminateProcess( d->serverPid, d->termSignal );
1533
				TerminateProcess( d->serverPid, d->termSignal );
1534
				system("/sbin/rmmod nvidia fglrx");
1532
				d->status = phoenix;
1535
				d->status = phoenix;
1533
			} else
1536
			} else
1534
				d->status = notRunning;
1537
				d->status = notRunning;
(-)kdm.orig/backend/server.c (+2 lines)
Lines 168-179 Link Here
168
	case starting:
168
	case starting:
169
		LogError( "X server startup timeout, terminating\n" );
169
		LogError( "X server startup timeout, terminating\n" );
170
		kill( d->serverPid, d->termSignal );
170
		kill( d->serverPid, d->termSignal );
171
		system("/sbin/rmmod nvidia fglrx");
171
		d->serverStatus = d->termSignal == SIGKILL ? killed : terminated;
172
		d->serverStatus = d->termSignal == SIGKILL ? killed : terminated;
172
		serverTimeout = d->serverTimeout + now;
173
		serverTimeout = d->serverTimeout + now;
173
		break;
174
		break;
174
	case terminated:
175
	case terminated:
175
		LogInfo( "X server termination timeout, killing\n" );
176
		LogInfo( "X server termination timeout, killing\n" );
176
		kill( d->serverPid, SIGKILL );
177
		kill( d->serverPid, SIGKILL );
178
		system("/sbin/rmmod nvidia fglrx");
177
		d->serverStatus = killed;
179
		d->serverStatus = killed;
178
		serverTimeout = 10 + now;
180
		serverTimeout = 10 + now;
179
		break;
181
		break;

Return to bug 219456