We develop an algorithm for resolving a conic linear system (FP d ), which is a system of the form (FP d ): b \Gamma Ax 2 CY x 2 CX ; where CX and C Y are closed convex cones, and the data for the system is d = (A; b). The algorithm "resolves" the system in that it either finds an ffl-solution of (FP d ) for a pre-specified tolerance ffl, or demonstrates that (FP d ) has no solution by solving an alternative dual system. The algorithm is based on a generalization of von Neumann's algorithm for linear inequalities. The number of iterations of the algorithm is essentially bounded by O i C(d) 2 ln(C(d)) ln i kbk ffl jj when (FP d ) has a solution, and is bounded by O \Gamma C(d) 2 \Delta when (FP d ) has no solution, and so depends only on two numbers, namely the feasibility tolerance ffl and the condition number C(d) of the data d = (A; b) (in addition to the norm of the vector b), and is independent of the dimensions of the problem. The quantity C(d) is the condition num..